JS使用JSON作為參數(shù)實例分析
本文實例講述了JS使用JSON作為參數(shù)的用法。分享給大家供大家參考,具體如下:
function getAjaxData(urlstr, callback_func, options){
var myurl = AJAX_HEADER + urlstr + AJAX_TAIL;
var isAsync = true;//初始化是否同步的屬性設置
var nTimeout = AJAX_TIMEOUT;//初始化請求超時的數(shù)據(jù)
var errorCallback = null;
//利用JSON對象options來修改默認初始化的屬性,這樣一個參數(shù)可以設置多個屬性
if (options)
{
if (options.sync) //sync這個參數(shù)就是JSON的對象
{
isAsync = (options.sync === true) ? false : true;
}
if (options.timeout)
{
nTimeout = parseInt(options.timeout);
if (isNaN(nTimeout))
nTimeout = AJAX_TIMEOUT;
}
errorCallback = options.errorCB;
}
if ($.browser.mozilla)
{
try
{
//netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
}
catch (exception)
{
log.error(exception);
}
}
$.ajax({
async: isAsync,
//cache: false,
type: "GET",
timeout: nTimeout,
url: myurl,
//dataType: ($.browser.msie) ? "text" : "xml",
error: function(XMLHttpRequest, textStatus){
try
{
if (jQuery.isFunction(errorCallback))
{
errorCallback(XMLHttpRequest, textStatus);
}
log.error("MAIN : getAjaxData(" + myurl + ") error.");
log.error("MAIN : XMLHttpRequest.readyState = " + XMLHttpRequest.readyState);
log.error("MAIN : XMLHttpRequest.status = " + XMLHttpRequest.status);
log.error("MAIN : textStatus " + textStatus);
}
catch (exception)
{
log.error(exception);
}
},
success: function(data){
log.debug("MAIN : getAjaxData(" + myurl + ") sucess.");
log.trace(data);
var xml;
if (typeof data == "string" || typeof data == "number")
{
if (!window.ActiveXObject)
{
var parser = new DOMParser();
xml = parser.parseFromString(data, "text/xml");
}
else
{
//IE
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.loadXML(data);
}
}
else
{
xml = data;
}
if (typeof callback_func == "function")
{
callback_func($(xml));
}
else
{
log.error("callback_func is undefined or not a function");
}
}
});
}
getAjaxData("api/monitoring/status", function($xml){
var wlan_ret = xml2object($xml);
if(wlan_ret.type == "response")
{
monitoring_status = wlan_ret.response;
setCurrrentUserHTML();
}
},
{
sync:true //通過JSON傳遞多個數(shù)據(jù),防止數(shù)據(jù)冗余,這里類似于配置信息
});
下面是一個簡單的例子:
function testJSON(JSON){
alert(JSON.name);
alert(JSON.age);
alert(JSON.id);
}
testJSON({name:"huangbiao",
"age":23,
"id":1});
PS:這里再為大家推薦幾款json在線工具,相信大家在今后的開發(fā)中可以用得到:
在線JSON代碼檢驗、檢驗、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在線格式化工具:
http://tools.jb51.net/code/jsonformat
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
json代碼在線格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
http://tools.jb51.net/code/jsoncodeformat
C語言風格/HTML/CSS/json代碼格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json
更多關于JavaScript相關內(nèi)容感興趣的讀者可查看本站專題:《JavaScript中json操作技巧總結(jié)》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學運算用法總結(jié)》
希望本文所述對大家JavaScript程序設計有所幫助。
- js將json格式的對象拼接成復雜的url參數(shù)方法
- 通過構(gòu)造AJAX參數(shù)實現(xiàn)表單元素JSON相互轉(zhuǎn)換
- JS根據(jù)key值獲取URL中的參數(shù)值及把URL的參數(shù)轉(zhuǎn)換成json對象
- 一個JavaScript函數(shù)把URL參數(shù)解析成Json對象
- jsp中利用jquery+ajax在前后臺之間傳遞json格式參數(shù)
- jQuery調(diào)用WebService返回JSON數(shù)據(jù)及參數(shù)設置注意問題
- Jquery中增加參數(shù)與Json轉(zhuǎn)換代碼
- php中json_decode()和json_encode()的使用方法
- 使用jsonp完美解決跨域問題
相關文章
深入理解JS中的微任務和宏任務的執(zhí)行順序及應用場景
JavaScript中的任務分為宏任務和微任務,它們的執(zhí)行順序會影響代碼的執(zhí)行結(jié)果。了解它們的機制可以幫助我們更好地理解事件循環(huán)和異步編程,避免出現(xiàn)一些意想不到的錯誤2023-05-05
JS+CSS實現(xiàn)Div彈出窗口同時背景變暗的方法
這篇文章主要介紹了JS+CSS實現(xiàn)Div彈出窗口同時背景變暗的方法,是一款比較典型的javascript操作彈出窗口的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03
json對象和formData相互轉(zhuǎn)換的方式詳解
我們有兩種常見的傳參方式: JSON 對象格式和 formData 格式,但是一些場景是需要我們對這兩種數(shù)據(jù)格式進行轉(zhuǎn)換的,這篇文章主要介紹了json對象和formData相互轉(zhuǎn)換的方式詳解,需要的朋友可以參考下2023-02-02
window.location.reload()方法刷新頁面彈出要再次顯示該網(wǎng)頁對話框
用window.location.reload()方法刷新頁面時,IE彈出“要再次顯示該網(wǎng)頁....”對話框,解決辦法,接下來介紹下詳細的解決方法,感興趣的朋友可以參考下哈2013-04-04

