gpt4 book ai didi

javascript - 在JS中使用回调操作局部变量

转载 作者:行者123 更新时间:2023-12-02 20:43:34 24 4
gpt4 key购买 nike

这是我的 jquery 代码:

function check_hotel_exists(value, col)
{
var url = base_url + 'ajax/checkuniquehotel';

var response = false;

$.get(url, {hotelname:value}, function(data){
if (data === 'true') response = true;
});

alert((response) ? 'Hotel is Not Existing' : 'Hotel Exists');

return [response, "That hotel already exists"];
}

响应的值不会改变。

如何通过 get 函数的回调更改响应的值?我期望来自服务器响应的变量数据是“true”或“false”。

任何帮助将不胜感激。:)

最佳答案

该值不会更改,因为应该将响应设置为 true 的 ajax 回调在 check_hotel_exists 函数退出后异步执行。一种可能的解决方法是将 async 选项设置为 false 来同步执行 ajax 请求。

$.ajax({
url: base_url + 'ajax/checkuniquehotel',
async: false,
data: { hotelname: value },
success: function(result) {
if (result === 'true') response = true;
}
});

另一种解决方法是异步执行调用,但在这种情况下,所有工作都必须在 success 回调中完成,您的函数不再需要返回值(例如显示错误消息)如果酒店名称已存在于成功回调中)。恕我直言,这是一个更好的方法。

关于javascript - 在JS中使用回调操作局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1865220/

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