コンテンツタイプapplication/x-www-form-urlencoded
として投稿する必要がある問題があります。'FormData'はIEでのみ定義されていません
var inputData = {cId:"444",pageNo:"1",latitude:"49.153236",longitude:"12.040905"};
var data = new FormData();
data.append('data', JSON.stringify(inputData));
this.model.save(data, {
data: data,
processData: false,
cache: false,
contentType: false,
success: function (model, resultData) {
$.get(App.baseUrl + 'templates/all-offers-view.html', function (data) {
template = _.template(data, {
data: resultData
});
that.$el.html(template);
}, 'html');
},
error: function (error) {
console.log("Error");
return false;
}
});
上記は他のすべてのブラウザで問題なく動作しますが、IE9では次のエラーが発生しています。
SCRIPT5009: 'FormData' is undefined
view.js, line 57 character 9
ライン57であることvar data = new FormData();
アイブ氏は、FormData()
がブラウザ依存する関数であり、そのjQueryライブラリへとIEでその欠落していることに関連していないと聞きました。
上記の方法を使用している理由は、データをapplication/x-www-form-urlencoded
形式で渡す必要があるためです。
(これはappstoreのiphoneアプリにリンクされているため)サーバーサイドのコーディングを変更することはできません。
私ができることは、クライアント側で試してみることです。
誰にでも解決策がありますか?
p.s:私はbackbone.jsを使用しています。
[互換表](https://developer.mozilla.org/en-US/docs/Web/API/FormData# Browser_compatibility)は、IE以上の問題がある可能性があることを示しています。フォームデータの送信方法に関するリンクもあります(https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest?redirectlocale=en-US&redirectslug=DOM%2FXMLHttpRequest%2FUsing_XMLHttpRequest )をformData APIなしで使用できます。 – RobG
:(それは非常に悪い...病気の修正を試す... –