1

データ操作用の html5/jquery アプリケーションを開発しています。このアプリケーションには、http get 操作と http post 操作の両方が含まれています。ie バージョン < 10、ff、および chrome では、保存/削除/更新操作は問題なく動作します (ポストは検証のためにオブジェクトの情報を xml としてサーバーに送信します)。 ajax post 操作では、データ パラメータが許可されません。ajax データを送信しません。

同様の投稿が使用を提案しています

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" >

および他のバリエーションがありますが、これは機能しません。

問題は、次を追加するとすぐに発生するようです。

data: {
            'lngClassID': 0,
            'strAttributes': xmlAsAString,
            'strExtendedPar': ""
        },

データに1つのパラメータがあっても通過しません。いくつかのフォーラムは、これが IE10 の既知の問題であることを示唆していますが、これが事実であるとは信じがたいと思います... これは、IE10 を使用している人は、インターネット上のどのページでも投稿要求を行うことができないということですか? 非常にありそうもない...

開発者メニューの「ネットワーク」タブのデータを比較すると、リクエスト ヘッダーが 100% 同一であり、他のすべての情報が同一であることがわかります

すなわち 10 および 9 ブラウザから: ここに画像の説明を入力

この問題はjqueryチームによって提起され、「CantFix」タグでクローズされたことも読みました...

誰にも解決策はありますか?アイデア?これは本当に私たちを困惑させました...

編集: ajax リクエストは次のとおりです。

DeleteBusinessObject: function (strAttributes, strExtendedPar, fncCallback) {
    var webServiceUrl = ServiceAccess.GetRootURL() + "/DeleteBusinessObject";
    var promise = $.ajax({
        type: "POST",
        url: webServiceUrl,
        dataType: "xml",
        context: this,
        data: {                
            'strAttributes': strAttributes,
            'strExtendedPar': strExtendedPar
        },
        error: this.ManageServerException
    });
    promise.done(fncCallback);
},

ここで、strAttributes は、'<' および '/>' タグを ASCII に変換したすべての xml データを含む非常に長い文字列です。POST リクエストには最大長が関連付けられていないはずなので、それが問題だとは思いません。奇妙な部分は、GET を使用したすべてのリクエストが問題なく機能することです。そのため、データ パラメータを使用した POST リクエストで IE 10 の問題が実際に発生すると思いますか?

EDIT2:

ブラウザが互換モードで実行されていないことを確認しました ここに画像の説明を入力

編集 3: この問題の解決策を見つけました。結局のところ、Web サービス プロトコル HttpPost は、web.config ファイルのプロトコルのリストにありませんでした。単純に行を追加する

<add name="HttpPost" />

WebServices > Protocols 内で行う必要があるのはすべてでした。ie9、ff、chromeでは機能するが、safariとie10では機能しない理由はまだわかりません

4

0 に答える 0