gpt4 book ai didi

javascript - 我需要从ajax返回值

转载 作者:行者123 更新时间:2023-12-03 07:12:19 24 4
gpt4 key购买 nike

我需要从ajax返回值,但它每次都填充0并且没有等待ajax进程完成var itemId=0; 作为全局值

getitemIDbyProductID(productId,getitemIDbyProductID_success);               
alert(itemID + "itemgeted")

我做到了

  function getitemIDbyProductID(productId, callback) {
$.ajax({
type: "POST",
url: "Cot.aspx/getitemIDbyProductID",
data: JSON.stringify({ productId: productId }),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
var value = 0;
value = JSON.parse(result.d);
itemID=callback(value)
callback(value);
},
error: function (msg) { }
});
}

function getitemIDbyProductID_success(total_percentage) {
alert(total_percentage +"fds"+itemID);
}

但它没有等待 ajax 完成并给了我 itemId = undefiend

最佳答案

您已成功在此处设置值:

function getitemIDbyProductID_success(total_percentage) {
itemID = total_percentage;
alert(total_percentage +"fds"+itemID);
}

但是,在调用这个的代码中,您再次成功设置它:

itemID=callback(value)

由于您的 getitemIDbyProductID_success 未返回任何内容,因此返回值为 undefined。因此,基本上,您在设置 itemID立即取消设置它。

仅调用回调,不使用其(不存在的)返回值:

callback(value);
<小时/>

此外,这不会像你想象的那样:

getitemIDbyProductID(productId,getitemIDbyProductID_success);               
alert(itemID + "itemgeted");

因为 getitemIDbyProductID 执行异步操作。即使纠正了上述错误,这个错误仍然存​​在。这个问题是一个非常常见问题的重复(其答案比我能提供的要好得多)here .

关于javascript - 我需要从ajax返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36582118/

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