gpt4 book ai didi

javascript - javascript,jquery 中的作用域变量

转载 作者:行者123 更新时间:2023-11-28 11:13:49 25 4
gpt4 key购买 nike

我试图在我的ajax响应中访问变量“维度”,但无法获取它。我不想让这个变量成为全局变量。以下是我的代码

  $(document).ready(function(){
$('#submittext').click(function(){
var dimensions;
$.ajax({
type: "GET",
url: "bin/getcontentsize.php",
data: findContentsize,
success: function(response){
//want to access dimensions here to assign response and some calculation(but not able to access it)
}
});
//so i can use here
});
});

最佳答案

在这种情况下,您可以访问 dimensions来自 ajax 回调和启动 ajax 请求后立即代码的变量。该变量在这两种上下文中都可以访问。

最有可能导致问题的是时间。 success方法将在ajax请求完成后异步运行。最好将其视为稍后执行。然而,紧接着$.ajax之后的代码调用将立即执行。因此,您不会看到 success 的任何影响。 dimensions 上的处理程序运行时变量。

如果您想要运行值为 dimensions 的代码按 success 计算方法,您需要从 success 调用该代码打回来。例如

$('#submittext').click(function(){

var handleNewDimensions = function (dimensions) {
// Code that used to be after the $.ajax line
}

$.ajax({
type: "GET",
url: "bin/getcontentsize.php",
data: findContentsize,
success: function(response){
var dimensions = doTheCalculation(...);

// Call the code which needs to deal with the new dimensions
handleNewDimensions(dimensions);
}
});

关于javascript - javascript,jquery 中的作用域变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8039274/

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