gpt4 book ai didi

jquery - 在 jQuery 中设置全局变量

转载 作者:行者123 更新时间:2023-12-01 03:05:48 25 4
gpt4 key购买 nike

如何设置全局变量。

$(document).ready(function() {

$("a.action").click(function(event) {
var tempResponse = "";
$.get("", function(response){
tempResponse = response;
});
alert("response " + tempResponse );
}

//todo use response to manipulate some data
});

我声明了 globa 变量 tempResponse。我设置了 get 回调函数。

tempResponse = response; 

但是当我尝试提醒响应时,没有显示任何数据。我也尝试这个解决方案。我更改变量声明变为 $.tempResponse 并将设置脚本更改为 $.tempResponse = response;

但它不起作用。

为什么会发生这种情况?

最佳答案

我相信在脚本顶部设置全局变量,然后将 ajax 调用设置为 async: false 将完全满足需要。

这样,ajax 在 javascript 尝试分配变量之前完成。另外,ajax 函数对我来说比使用 .get 更干净。

tempResponse = null;
$.ajax({
url: 'whatever.cgi',
async: false,
dataType: 'json',
data: { blank: null }
success: function(data) {
tempResponse = data.response;
}
}).error(function(){
alert('Ajax failed')
});

alert(tempResponse);

在返回“响应”的脚本中,确保其采用 json 格式。在 php 中,我会将数据放入数组中,例如

$json_data = array('response'=>$var_name_php_for_response_value);

然后只回显所需的数据,如下所示:

 json_encode($json_data);

这将产生格式:{ "response":"some response text"} 这是正确的 json 格式。

关于jquery - 在 jQuery 中设置全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2123034/

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