9

当社のアプリケーションに使用extjs and webapi(C#)しています。私のフォームにはfileuploadコントロールがあります。form.sumbit()extjs で使用すると、success 関数にはいきません。

WebApi コード:

bool SaveData(Employee obj)
{
     return true;
}

Extjs コード:

form.submit( {
               url: '../api/Empcontroller/SaveData',
               method: 'POST',
               headers: {
               'Content-Type': 'application/json'
                         },
               success: function ( fp, o )
               {


               },
               failure: function ( fp, o )
               {

               }
            } );

すべてのブラウザーで true の応答が得られます。そのChrome成功において、しかし、Firefox its not.

4

7 に答える 7

2

次のように dataType パラメータを追加してみてください。

form.submit({
   url: '../api/Empcontroller/SaveData',
   method: 'POST',
   headers: {
       'Content-Type': 'application/json'
   },
   dataType: 'json',
   success: function (fp, o) {

   },
   failure: function (fp, o) {

   }
});

私はそれがこのように行われたことも見ました:(json_data_hereを送信する必要のあるデータに置き換えてください)

form.submit(Ext.Ajax.request({    
    url: '/../api/Empcontroller/SaveData',
    method: 'GET',
    jsonData: json_data_here,
    headers: {'Content-Type' : 'application/json' , 'Accept' : 'application/json'}
}));
于 2013-04-19T23:33:45.157 に答える
1

うーん。変。バグを見つけたと思います。サーバー要求の応答を待つようにスクリプトに指示するために「asyncron」状態を「false」に設定すると、FireFox は気に入りません。

http.open("GET", destURL, true); の代わりに http.open("GET", destURL, false); を使用しています。

Firefoxは「false」の非同期オプションを受け入れません

于 2013-04-25T06:03:23.893 に答える
1

json の代わりに submit 内に匿名関数を追加してみてください:

form.submit( function(){
               url: '../api/Empcontroller/SaveData',
               method: 'POST',
               headers: {
               'Content-Type': 'application/json'
                         },
               success: function ( fp, o )
               {


               },
               failure: function ( fp, o )
               {

               }
            } );
于 2013-04-23T13:05:18.857 に答える
1

content-type をジャックする FireFox のバグがあるようです...

JQuery - Firefox での $.ajax ContentType の問題

于 2013-04-19T18:33:42.083 に答える