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 に答える