お手伝いをしようとしています。私はURLにAJAX呼び出しを行うコードを書いた。それにはコールバック関数が含まれていますが、(結果を確認したくないので)無視することができます。このコードを試して、ターゲットURLを変更してください。
結果
Tue Jun 21 2016 15:46:30 GMT-0300 (BRT) Req sent {"email_id":"1","key":"abc"}
Tue Jun 21 2016 15:46:30 GMT-0300 (BRT) Success
Tue Jun 21 2016 15:46:30 GMT-0300 (BRT) Complete {"readyState":4,"responseText":"\n\t\n\t\t\n\t\t\n\t\n\t\n\t\tResult:\n\t\t
\n\t\n","status":200,"statusText":"OK"}
コード
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
function log(msg) {
var dateMsg = (new Date()) + ' ' + msg;
var $res = $('#result');
var $o = $('<li>').html(dateMsg);
$res.append($o);
}
function checkEmailFrontEnd(email_id, key) {
var userdata = {
email_id: email_id,
key: key
};
var opts = {
url: 'html.html',
type: 'POST',
data: userdata,
success: function(data, textStatus, jqXHR){
log('Success');
},
error: function(jqXHR, textStatus, error){
log('Error ' + error);
},
complete: function(jqXHR, textStatus){
log('Complete ' + JSON.stringify(jqXHR));
}
};
$.ajax(opts);
log('Req sent ' + JSON.stringify(userdata));
}
$(function(){
checkEmailFrontEnd('1', 'abc');
});
</script>
</head>
<body>
Result:
<ul id='result'></ul>
</body>
</html>
あなたのコードに問題は何ですか?最初のビューからは、正しいかもしれません。要求が成功したかどうかに関わらず、要求は実行され、コードは実行され続ける必要があります。 – Juan
@Juan and all:mail_users.phpがリクエストされたら(最初のAJAXリクエスト)、テーブルを更新してから、ページセクションにテーブルセクション(2番目のAJAXリクエストが必要)をリロードする必要があります。しかし、ページは、(最初のAJAXリクエスト)プロセスがテーブルセクションをリロードする前に完了するのを待っています。 –
その場合、最初のコールの「完了」内に2回目のコールを行う必要があります。 「完了」セクションは、最初のコールが完了すると実行されます。 – Juan