Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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_Callback_Scope - Fatal编程技术网

Javascript 如何在回调函数中从另一个作用域更新变量?

Javascript 如何在回调函数中从另一个作用域更新变量?,javascript,jquery,callback,scope,Javascript,Jquery,Callback,Scope,我在更新一个变量时遇到了问题,该变量与回调函数的作用域不同,而回调函数本身就是jQuery getJSON调用中的一个参数。有人能告诉我如何从下面的回调函数中将元素推送到chg_percent变量上吗?谢谢大家! $(document).ready(function() { chg_percent = []; // array of all percent changes var url = 'http://finance.yahoo.com/webservice/v1/sy

我在更新一个变量时遇到了问题,该变量与回调函数的作用域不同,而回调函数本身就是jQuery getJSON调用中的一个参数。有人能告诉我如何从下面的回调函数中将元素推送到chg_percent变量上吗?谢谢大家!

$(document).ready(function() {

    chg_percent = []; // array of all percent changes

    var url = 'http://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote?format=json&view=basic&callback?';

    $.getJSON(url, null, function(data) {

        for (i = 0; i < data.list.resources.length; i++) {
        chg_percent.push(data.list.resources[i].resource.fields.chg_percent);
        }
    });
});
$(文档).ready(函数(){
chg_percent=[];//所有百分比更改的数组
var url='1〕http://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote?format=json&view=basic&callback?';
$.getJSON(url,null,函数(数据){
对于(i=0;i
添加
chng_percent
作为参数以及
函数(数据){…}

应该是这样的:

$.getJSON(url, null, function(data, chng_percent) {

在答案开始纷至沓来之前,这段代码实际上是有效的,而且
chg_percent
没有范围问题。您能再次澄清范围问题吗?运行时请查看控制台。我认为问题实际上是[同源策略]{}。正如@Alexander所说,没有范围问题。就我所见,存在范围问题。即使我这样做了:chg_percent.push(3);然后在.getJSON调用go alert(chg_%)之后,它没有被推送到它上面。这里没有同源问题。这是jsonp,它获取的数据没有问题。我明白了,你可以绕过CORS。我要走了。祝你好运在离开之前,