问题描述
- Ext.data.JsonP.request 报错 not defined
-
Ext.data.JsonP.request({ url:fixReleaseService async: false params: {para: Ext.encode([statDtpara])} callbackKey: ""callBack1"" callbackName: ""callBack1"" success:callBack callBack:function(d){ alert(d); } failure: function (d) { alert('请求失败!'+ d); Ext.getBody().unmask(); } });
后台 java代码:response.getWriter().println(""callBack1({})"");
解决方案
callback回调你定义了吗?自己用开发工具看下具体报错的js代码,看下jsonp请求都返回了正确的数据了没有?
你配置了callbackName,实际传递的函数名称是Ext.data.JsonP.callBack1,你的java代码应该这样
response.getWriter().println(""Ext.data.JsonP.callBack1({})"");
解决方案二:
感谢楼上的回答
Ext.data.JsonP.request({
url:fixReleaseService
async: false
params: {para: Ext.encode([statDtpara])}
callbackKey: ""callBack1""
callbackName: ""callBack1""
success:function(d){
alert(d);
}
failure: function (d) {
alert('请求失败!'+ d);
Ext.getBody().unmask();
}
});
response.getWriter().println(""Ext.data.JsonP.callBack1({})"");
解决方案三:
参考Uncaught TypeError: Cannot call method 'request' of undefined in sencha touch2 external webservice
添加下面的
requires: ['Ext.data.JsonP']
添加完上面的之后,记得清楚一下缓存。