次のJavaScript/jQueryコードがあります。最初の結果に基づく2番目のAJAX
//First AJAX
$.ajax({
type: 'GET',
url: '/API/User/GetCode/'+ $("#email").val(),
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(data)
}).done(function (data) {
code = data;
}).fail(function() {
code = "";
});
//Second AJAX
var data = {
Email: $("#email").val(),
Password: $("#password").val(),
ConfirmPassword: $("#confirmPassword").val(),
Code: code,
Type: "External"
};
$.ajax({
type: 'POST',
url: '/API/Account/Register',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(data)
}).done(function (data) {
var result = "Success";
var message = "Verify your email address to confirm your account.";
resultPage(result, message);
}).fail(showError);
最初のAJAXではコードを取得し、このコードに基づいて2番目のAJAXを呼び出します。
は最初のAJAXが呼び出されているときに私が最初にそれが正常に動作しますasync=false
を設定したくないので、それ以外の場合は「doesnの、(最初のAJAXはcode
した後、第2 AJAXはcode
パラメータを適切に呼び出されて返されます)仕事。
私は約束を加えなければならないと思いますが、そのような場合にはどうすればよいか分かりません。
ご協力いただければ幸いです。
。 JavaScriptコードは、ajax呼び出しが完了する前に続きます。それが完了するとdoneコールバックは –
の.done' '内部で2番目のAjaxを移動 –
と呼ばれています。 – user3378165