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 が成功となります。決済予定はありますか? 適宜お尋ねします。