我有一个问题,需要将数据提交为 content-type 为 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
格式传递数据。
我无法更改服务器端编码(因为它与App Store中的iPhone应用程序相关联)。
所有我能做的就是尝试客户端的解决方案。
有人有解决这个问题的方法吗?
p.s: 我正在使用backbone.js。