Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么javascript关心这个变量是否为局部变量?_Javascript_Jquery_Html_Http_Scope - Fatal编程技术网

为什么javascript关心这个变量是否为局部变量?

为什么javascript关心这个变量是否为局部变量?,javascript,jquery,html,http,scope,Javascript,Jquery,Html,Http,Scope,使用jquery进行以下调用: var x = $.get("/page"); 该页面返回一些json数据,我希望通过x.responseJSON访问这些数据。如果变量是局部变量,如示例中所示,则x未定义。如果我去掉局部的脱衣舞就好了。这不是一个范围问题,因为它都发生在同一个范围内。我只注意到这种行为,即使是在开发人员控制台中进行调用,该控制台会自动将返回的对象打印到控制台 它是未定义的,因为您没有告诉控制台返回任何内容。如果不包括var x=,控制台将显示该对象 在控制台中键入以下内容: v

使用jquery进行以下调用:

var x = $.get("/page");

该页面返回一些json数据,我希望通过x.responseJSON访问这些数据。如果变量是局部变量,如示例中所示,则x未定义。如果我去掉局部的脱衣舞就好了。这不是一个范围问题,因为它都发生在同一个范围内。我只注意到这种行为,即使是在开发人员控制台中进行调用,该控制台会自动将返回的对象打印到控制台

它是未定义的,因为您没有告诉控制台返回任何内容。如果不包括
var x=
,控制台将显示该对象

在控制台中键入以下内容:

var x = "123";
而不是类型

x;

ajax请求是一项异步任务,因此您需要在Suces回调中处理响应:

$.get('/page', function(x) {
    console.log(x,'marks the spot');
});

我不清楚你的问题是什么。但是,我猜想您正在尝试在HTTP请求完成之前访问
responseJSON
x
应该是
jqXHR
对象,我在中没有看到
responseJSON
属性