我有一个简单的主干应用程序,它以 struts 控制器作为后端,并且运行良好。然后我尝试包含跨域请求处理逻辑,我知道有两种方法可以发出跨域请求
- JSONP
- CORS
现在我要做的是,如果浏览器不支持 CORS ..那么我将不得不提出 JSONP 请求。我已经完成了 CORS(只是使用过滤器添加了标头),这部分工作正常,但我无法成功发出 JSONP 请求。
我对此的问题是:
服务器(struts 控制器)的响应应该是什么?它是否返回类似函数调用的东西?截至目前,它正在返回模型。
在 Backbone js 中,仅覆盖 Backbone.sync 使其数据类型为 JSONP 就足够了吗?
注意:我的 JSONP 调用出现以下错误:
错误:未调用 jsonpCallback
代码:我在集合中覆盖了我的同步。我的同步功能是
sync: function(method, model, options) {
options.dataType = 'jsonp';
options.url="http://localhost:8084/CrossDomain_backbone/messages.json";
//options.contentType='application/json-p';
options.error=this.errorr;
return Backbone.sync(method, model, options);
}
,
parse: function(resp){
alert('inside parse..');
return resp.model;
},
errorr:function(response,responseText)
{
alert('inside callback..: ' + responseText);
},
谢谢。