0
我知道那裏有很多AJAX問題,但通讀後他們無法弄清楚如何做到這一點(我是JS的新手)在AJAX調用後將參數傳遞給promise.done()
除了通過ajax調用返回的「數據變量」(您可以通過.done(function(data){});
訪問...不確定是什麼類型)之外,將$ form變量(或其他變量)傳遞給ajaxFormSubmitSuccess函數它的對象)。
我有(這不起作用):
//handles ajax form submissions
$("form[data-ccajax='true']").submit(ajaxFormSubmit);
var ajaxFormSubmit = function() {
var $form = $(this);
var options = {
url: $form.attr("action"),
type: $form.attr("method"),
context: this,
data: $form.serialize(),
dataType: "html"
};
//send ajax command
var promise = $.ajax(options);
promise.done(ajaxFormSubmitSuccess($form, promise));
promise.fail(ajaxFormSubmitFailure);
return false;
}
眼下.done(ajaxFormSubmitSuccess($form, promise));
代碼調用下面的函數。 data
變量未從promise
中提取...因此$data
在整個代碼中保持爲空。
var ajaxFormSubmitSuccess = function ($form, $promise) {
var $data;
$promise.success(function (data) { $data = data; });
alert("succeededajaxFormSubmit");
var target1 = $("#"+$form.attr('data-cctarget1'));
target1.html($data);
}
如何做到這一點的權利任何幫助,非常感謝!
謝謝你 - 這似乎工作 - 我曾以爲ajaxFormSubmitSuccess只會被調用(即使JS是異步)請求是後「完成」和「數據」已填充...不會猜測。 – ASX