jqueryフォームプラグインを使ってファイルをアップロードし、レスポンスデータがjsonの場合に$.ajaxFormの処理がタイムアウトになる現象について質問します。
サーバー側での処理は問題なく行われ、レスポンスデータはfirebugで見る限りjson形式のままの形で返ってきます。ただ、$.ajaxForm ではデータを取得できないと思います。以下、加工コードの一部です。
コード $('#upload').ajaxForm({ キャッシュ: false, データ型: 'json', タイプ: 'POST', エラー: 関数 (xhr、ステータス、エラー) { alert('エラーが発生しました。ステータス:' + ステータス + ' --ステータス テキスト:' + エラー + ' -- エラー結果:' + xhr.statusText); }、 タイムアウト: 1000、 dataType:'json', data:{ 'パス':'パス' , 'タイプ':'タイプ' }, 完全:関数(){ アラート('完了'); }、 成功:関数(データ){ アラート ('成功'); }、 });
応答
(firebug)
header
Connection close
Content-Length 155
Content-Type application/json; charset=utf-8
Status 200
data
json
{"type":"json","message":"complete process"}
<i>(A browser)</i>
①download json data
②alert('error occured. Status:timeout --Status Text:timeout --Error Result:n/a')
③alert('complete')
</pre>
dataType が html の場合、success 処理できました。また、$.ajax の場合は json が成功となります。決済予定はありますか? 適宜お尋ねします。