Javascript ';FormData';仅在IE中未定义

Javascript ';FormData';仅在IE中未定义,javascript,jquery,backbone.js,form-data,Javascript,Jquery,Backbone.js,Form Data,我有一个问题,我需要将数据发布为内容类型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

我有一个问题,我需要将数据发布为内容类型
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));
}

希望这对你有所帮助。

at MDN表明你可能在IE上遇到了更多的问题。也有一个没有formData API的问题。:(…这很糟糕…我将尝试修复…第2行和第3行无法解决IE 8的问题。我希望这篇文章能够解决问题