データをコンテンツタイプ_application/x-www-form-urlencoded
_として投稿する必要があるという問題があります。
_ 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を使用しています。
以下のコードを試してください:
if(typeof FormData == "undefined"){
var data = [];
data.Push('data', JSON.stringify(inputData));
}
else{
var data = new FormData();
data.append('data', JSON.stringify(inputData));
}
これがお役に立てば幸いです