gpt4 book ai didi

ajax - 如何从 did() 中调用 jquery .ajax 获取 JSON 结果?

转载 作者:行者123 更新时间:2023-12-01 04:54:37 24 4
gpt4 key购买 nike

我正在尝试使用较新的 .done() 语法来调用 .ajax(),但我不知道如何将从服务器返回的数据放入我的 .done() 函数中。这是我的代码:

function checkLink(element) {
var resultImg = $(element).parent().parent().find("img");

resultImg.attr("src", "/resources/img/ajaxLoad.gif");

$.ajax({
type: 'POST',
url: '/services/Check.asmx/CheckThis',
data: '{somedata: \'' + whatever + '\'}',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: onSuccess,
error: onFailure
}).done(function () { success2(resultImg); });
}

function success2(img) {
img.attr('src', '/resources/img/buttons/check.gif');
}

function onSuccess(data) {
// The response from the function is in the attribute d
if (!data.d) {
alert('failed');
}
else {
alert('hurray!');
}
}

checkLink 通过简单的按钮按下来调用。 onSuccess() 和 success2() 都正常触发。但是...我需要的是 onSuccess 中的“data”参数传递给 success2...或者能够将“resultImg”传递给 onSuccess (尽管我更喜欢使用 .done 而不是已弃用的方法)。看来我可以传递自己的参数,或者访问 AJAX 调用的 JSON 结果......但不能两者兼而有之。我该如何实现这个目标?

最佳答案

您可以关闭 resultImg 变量:

function checkLink(element) {
var resultImg = $(element).parent().parent().find("img");

resultImg.attr("src", "/resources/img/ajaxLoad.gif");

$.ajax({
type: 'POST',
url: '/services/Check.asmx/CheckThis',
data: '{somedata: \'' + whatever + '\'}',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: onSuccess,
error: onFailure
}).done(success2);

function success2(data) {
resultImg.attr('src', '/resources/img/buttons/check.gif');
// do whatever with data
}

function onSuccess(data) {
// The response from the function is in the attribute d
if (!data.d) {
alert('failed');
}
else {
alert('hurray!');
}
}
}

关于ajax - 如何从 did() 中调用 jquery .ajax 获取 JSON 结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15488706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com