JS使用JSON作為參數(shù)實(shí)例分析
本文實(shí)例講述了JS使用JSON作為參數(shù)的用法。分享給大家供大家參考,具體如下:
function getAjaxData(urlstr, callback_func, options){
var myurl = AJAX_HEADER + urlstr + AJAX_TAIL;
var isAsync = true;//初始化是否同步的屬性設(shè)置
var nTimeout = AJAX_TIMEOUT;//初始化請(qǐng)求超時(shí)的數(shù)據(jù)
var errorCallback = null;
//利用JSON對(duì)象options來修改默認(rèn)初始化的屬性,這樣一個(gè)參數(shù)可以設(shè)置多個(gè)屬性
if (options)
{
if (options.sync) //sync這個(gè)參數(shù)就是JSON的對(duì)象
{
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傳遞多個(gè)數(shù)據(jù),防止數(shù)據(jù)冗余,這里類似于配置信息
});
下面是一個(gè)簡(jiǎn)單的例子:
function testJSON(JSON){
alert(JSON.name);
alert(JSON.age);
alert(JSON.id);
}
testJSON({name:"huangbiao",
"age":23,
"id":1});
PS:這里再為大家推薦幾款json在線工具,相信大家在今后的開發(fā)中可以用得到:
在線JSON代碼檢驗(yàn)、檢驗(yàn)、美化、格式化工具:
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語言風(fēng)格/HTML/CSS/json代碼格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript中json操作技巧總結(jié)》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動(dòng)畫特效與技巧匯總》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- js將json格式的對(duì)象拼接成復(fù)雜的url參數(shù)方法
- 通過構(gòu)造AJAX參數(shù)實(shí)現(xiàn)表單元素JSON相互轉(zhuǎn)換
- JS根據(jù)key值獲取URL中的參數(shù)值及把URL的參數(shù)轉(zhuǎn)換成json對(duì)象
- 一個(gè)JavaScript函數(shù)把URL參數(shù)解析成Json對(duì)象
- jsp中利用jquery+ajax在前后臺(tái)之間傳遞json格式參數(shù)
- jQuery調(diào)用WebService返回JSON數(shù)據(jù)及參數(shù)設(shè)置注意問題
- Jquery中增加參數(shù)與Json轉(zhuǎn)換代碼
- php中json_decode()和json_encode()的使用方法
- 使用jsonp完美解決跨域問題
相關(guān)文章
深入理解JS中的微任務(wù)和宏任務(wù)的執(zhí)行順序及應(yīng)用場(chǎng)景
JavaScript中的任務(wù)分為宏任務(wù)和微任務(wù),它們的執(zhí)行順序會(huì)影響代碼的執(zhí)行結(jié)果。了解它們的機(jī)制可以幫助我們更好地理解事件循環(huán)和異步編程,避免出現(xiàn)一些意想不到的錯(cuò)誤2023-05-05
JS添加刪除一組文本框并對(duì)輸入信息加以驗(yàn)證判斷其正確性
需要添加幾組數(shù)據(jù)到數(shù)據(jù)庫,但是具體幾組數(shù)據(jù)不確定,有客戶來填寫,所以,這里我用JS進(jìn)行添加刪除子方案,并要對(duì)方案輸入的正確性加以判斷,感興趣的朋友可以了解下2013-04-04
javascript cookie的簡(jiǎn)單應(yīng)用
這篇文章主要介紹了javascript cookie的簡(jiǎn)單應(yīng)用,我們先介紹一下cookie的使用,以及我后面簡(jiǎn)單封裝一個(gè)cookie操作的單例,便于實(shí)現(xiàn)cookie的設(shè)置,獲取,刪除的方法,感興趣的小伙伴們可以參考一下2016-02-02
JS+CSS實(shí)現(xiàn)Div彈出窗口同時(shí)背景變暗的方法
這篇文章主要介紹了JS+CSS實(shí)現(xiàn)Div彈出窗口同時(shí)背景變暗的方法,是一款比較典型的javascript操作彈出窗口的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03
json對(duì)象和formData相互轉(zhuǎn)換的方式詳解
我們有兩種常見的傳參方式: JSON 對(duì)象格式和 formData 格式,但是一些場(chǎng)景是需要我們對(duì)這兩種數(shù)據(jù)格式進(jìn)行轉(zhuǎn)換的,這篇文章主要介紹了json對(duì)象和formData相互轉(zhuǎn)換的方式詳解,需要的朋友可以參考下2023-02-02
Echarts.js實(shí)現(xiàn)水滴球和海洋效果
這篇文章介紹了Echarts.js實(shí)現(xiàn)水滴球和海洋效果的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04
window.location.reload()方法刷新頁面彈出要再次顯示該網(wǎng)頁對(duì)話框
用window.location.reload()方法刷新頁面時(shí),IE彈出“要再次顯示該網(wǎng)頁....”對(duì)話框,解決辦法,接下來介紹下詳細(xì)的解決方法,感興趣的朋友可以參考下哈2013-04-04

