1

我正在尝试使用 Sencha Touch 的 Ajax.request 发送 XML 数据,如下所示:

var request = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" standalone=\"yes\"?><a>....</a>";
Ext.Ajax.request({
                url: 'http://192.168.xxx.xxx:8992',
                method: 'POST',
                headers: {'Content-Type': 'text/xml'},
                xmlData: request,
                success: function (responseData, opt) {
                    console.log(responseData.responseText);
                },
                failure: function (responseData, opt) {
                    console.log('ajax:failure:status,statusText='+ responseData.status+','+responseData.statusText);
                }
            });

但是我遇到了失败并且有

responseData.status = 0

responseData.statusText = 通讯失败

我还使用 HTTPrequester ( https://addons.mozilla.org/en-us/fir...httprequester/ ) 来测试 XML 请求消息,它可以工作并返回预期的 XML 响应。

任何人都可以帮助我在使用 Ext.Ajax.request 时出现此错误的原因以及如何解决?

提前致谢。

4

1 回答 1

1

我得到了它。

此问题与跨域有关,目前可以通过在 Google Chrome 中禁用跨域安全检查来无错误地运行它。

关闭所有 google chrome 浏览器并运行以下命令

google-chrome --disable-web-security

也可以通过在服务器上设置 CORS 来解决。

于 2013-08-16T04:36:06.387 回答