Javascript Ext.Ajax.request在IE中不工作
需要此代码块的帮助Javascript Ext.Ajax.request在IE中不工作,javascript,ajax,internet-explorer,extjs,Javascript,Ajax,Internet Explorer,Extjs,需要此代码块的帮助 dummyData = [{name: "test"},{foo: "bar"}]; var postData = {}; postData.csrfi = csrfi; postData.data = Ext.JSON.encode(dummyData); Ext.Ajax.request({ url: UrlGenerator.getControllerActionUrl('RfqSE', 'sendQuotations', { media
dummyData = [{name: "test"},{foo: "bar"}];
var postData = {};
postData.csrfi = csrfi;
postData.data = Ext.JSON.encode(dummyData);
Ext.Ajax.request({
url: UrlGenerator.getControllerActionUrl('RfqSE', 'sendQuotations', { media: 'json'} ),
params: postData,
callback: function(options, success, response) {
var showErrorMsg = true;
if (success) {
var obj = Ext.decode(response.responseText);
if (obj && obj.success === true) {
showErrorMsg = false;
}
}
if (showErrorMsg) {
Ext.Msg.alert("error", "some error has occured");
}
callback.call();
}
});
…由于某些原因,参数没有发送到服务器端,它不仅在IE 7,8上工作。。。没有尝试过9+。。在chrome和mozilla上的应用除外。。。。Url很好,参数也很好。。。
编辑:我正在使用4.2extjs
非常感谢您的帮助……请使用“jsonData”而不是“params”
Ext.Ajax.request({
url: url,
jsonData: postData,
method: 'POST',
success:{//Do sonething},
failure:{//Do sonething},
scope: this,
timeout: 100000
});
可能是因为你对一切都进行了双重编码。通过将
postData
作为对象传递,Ext将已经对其进行编码。我可能会窒息的。把东西递进去就行了。不。。不幸的是,这种方式也不起作用。。。但我有一点疑问。。。当我在Ajax对象中添加'params'或'jsonData'作为param时,它不起作用。。。即使我以{foo:'bar}尝试的方式传递简单对象。。这样,它根本不发送数据。。它甚至不在文档中:O