Ext提供了Ext.data.JsonP类,他分装了大部分跨域的功能,拿来用就可以。对跨域已经支持。基本原理无非就是Jsonp,通过添加脚步引用块来实现。
Ext.data.JsonP.request({
url: 'url',//跨域的地址
timeout: 300000,
//参数
params: {
method: 'GetA1Url',
wellName: record.data.WELL_COMMON_NAME
},
callbackKey: "callback",//callback参数
success: function (result) {
console.log(result)
//后端返回参数
/* if (result.rettype == 'true') {
me.Comet.privateToken = result.msg;
me.RegisterComet();
} else {
alert(result.msg);
}
window.open(url)*/
},
failure: function (result) {
alert(result);
}
});
“callback”该名称将作为Jsonp请求的方法名传递到服务器端,获取该请求的URL:
http://10.0.13.64:89/Home/InitializeComet?loginId=0001&callback=Ext.data.JsonP.callback1&_dc=1370687739484
可以发现该名称的意义了吧,当然在后台实现过程也会用到该值,当然取值随意,前后台统一就好。