'FormData' est indéfini dans IE uniquement

J'ai un problème où j'ai besoin de publier les données sous forme de type de contenu 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; } }); 

Bien que ce qui précède fonctionne bien dans tous les autres navigateurs, j'obtiens l'erreur suivante dans IE9.

 SCRIPT5009: 'FormData' is undefined view.js, line 57 character 9 

Ligne 57 étant var data = new FormData();

Ive entendu FormData() est une fonction dépendante du navigateur et n'est pas liée à la bibliothèque jquery et que dans IE il manque.

La raison pour laquelle j'utilise la méthode ci-dessus est parce que je dois transmettre les données dans le format application/x-www-form-urlencoded .

Je ne peux pas modifier le codage du côté serveur (car cela est lié à une application iphone dans la console).

Tout ce que je peux faire, c'est essayer avec le client.

Quelqu'un at-il une solution pour cela?

Ps: J'utilise backbone.js.

Essayez le code ci-dessous:

 if(typeof FormData == "undefined"){ var data = []; data.push('data', JSON.stringify(inputData)); } else{ var data = new FormData(); data.append('data', JSON.stringify(inputData)); } 

J'espère que cela vous aidera