Ajax通信のタイムアウトの処理を追加しているのですが、タイムアウトが発生しません。
記述が間違っているでしょうか?
javascript
1 $.ajax({ 2 type: 'POST', 3 url: 'login.php', 4 data: obj, 5 dataType: 'json', 6 cache: false, 7 async: false, 8 timeout: 10 9 }) 10 .done(function(resoponse){ 11 alert('no timeout'); 12 }) 13 .fail(function(jqXHR, textStatus, errorThrown){ 14 alert('timeout'); 15 });
呼び出しているPHP側には
PHP
1 sleep(15); 2 $response['result'] = array( 3 'res1' => 'res1', 4 'res2' => 'res2', 5 'res3' => 'res3', 6 'res4' => 'res4' 7 ); 8 9 echo json_encode($response); 10
を記載しています。
15秒後に.doneの方に戻ってきてしまいます。
渡すdataに不備があると、.failの処理に入り「textStatus=parsererror」となっています。
誰か理由がわかる方、教えてください。
回答1件
あなたの回答
tips
プレビュー