i不跨域調用
$(document).ready(function() {
$.ajax({
type : 'post',
url :' <%=path%>/mplat/InitAllMenu',
data : {},
cache : false,
dataType : 'json',
success : function(data, stats) {alert(data.menus);
// var returnData=JSON.parse(data);
/* var returnData = data;
appname = returnData.appname;
allTreeNodes = JSON.parse(returnData.menus);*/
},
error : function() {debugger;
alert( "加載應用名出現問題..");
}
});
跨域請用jsonp訪問,由于回調時會報callback錯誤,請直接用jquery-jsonp插件;
做跨域數據處理的時候經常使用Jquery的getJSONP方法。但是這個方法跟普通的Ajax是完全不一樣的,盡管指定了error,當請求發生錯誤的時候也不會去執行這個函數。
jQuery-JSONP 是一個支持 JSONP 調用的 jQuery 插件,它支持出錯時的 Ajax 回調。下載地址:https://github.com/jaubourg/jquery-jsonp
使用方法很簡單,直接引用Down到的文件到你的頁面。
$.jsonp({
url: "/Handler/demo" ,
data: { yourdata: "data" },
callback: "callbackAction" ,
success: function (json) {
//your code
},
error: function (xOptions, textStatus) {
//your code
}
});
|
注意事項:
http://blog.csdn.net/function_jx_/article/details/47124815
- callback:假如指定的值是callbackAction,服務端返回的json數據必須包含在callbackAction()里面。(具體原因請了解一下Jsonp實現原理)