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实现原理)