1

わかりました、始める前に、SOおよび他の場所のregのほとんどすべての回答を見たと言わせてください。jq フォームのアップロードの問題であり、この問題は別のものであると確信しています。

基本的に何が起こるかというと、ファイルのアップロードが正常に行われ、応答がアップロード コントローラーからの ID を含む application/json 形式で返されます。最初に IE で応答がダウンロードを促し、それを解決するためにコンテンツ タイプを text/json (text/html,text/xml) に変更しました。今ではダウンロードを求めるプロンプトは表示されなくなりましたが、戻り値を探して応答にアクセスしようとすると、空になります。コードは次のようになり、xhr.responseText は空です。

 $('#upload-file-data-form').ajaxSubmit({
                    xhrFields: { withCredentials: true },
                    url: url,
                    dataType: "json",
                    data: { DataItems : "some data" },
                    complete: function (xhr) {
                        var json = xhr.responseText;
                        var data = $.parseJSON(json);
                        onDone(data.d);
                    },
                    errors: function () {
                        onFail();
                    }
                });

返された JSON の Fiddler 抽出。

ここに画像の説明を入力

アプリケーションは SP オンラインでホストされ、アップロードは Azure の Web API エンドポイントで行われます。これは chrome と IE11 で正常に動作するため、これは IE9 の CORS の問題であると想定しています。私はこれを2日以上いじっていますが、これに光を当てることができる人なら誰でもビールを買います(冗談ではありません!:))。

乾杯!

4

1 に答える 1

0

コードに構文エラーがあるため、可能性があります。

data: { "some data" }

どちらかを選択 (オブジェクトを送信)

data: { name: "firstname"}

または配列

data: ["some data"]
于 2014-08-25T21:40:28.660 に答える