Javascript 从Ajax Jsonp中取出数据

Javascript 从Ajax Jsonp中取出数据,javascript,jquery,ajax,jsonp,Javascript,Jquery,Ajax,Jsonp,我想从Ajax Jsonp中提取数据。 为什么无法使用此应用程序? 请帮忙 var res; $.ajax({ url: 'https://api-metrica.yandex.com/analytics/v3/data/ga?end-date=today&ids=ga%3A35416355&dimensions=ga:pagePath&metrics=ga:users&filters=ga:pagePath==/p/etkinlikler.html&

我想从Ajax Jsonp中提取数据。
为什么无法使用此应用程序?
请帮忙

var res;
  $.ajax({
    url: 'https://api-metrica.yandex.com/analytics/v3/data/ga?end-date=today&ids=ga%3A35416355&dimensions=ga:pagePath&metrics=ga:users&filters=ga:pagePath==/p/etkinlikler.html&start-date=2015-10-25&oauth_token=AQAAAAAVs-uLAASpEAf-MmJK_kHgpU9Fwv8WArM',
    dataType: 'jsonp',
    async: false,
    success: function(result) { 
        res = result.totalsForAllResults["ga:users"];
        }
    });
    $("div").html(res);

在JSONP中,应该向请求添加回调参数。 响应将是使用请求的数据调用回调的脚本

因此,您应该这样调用URL:

http://domain.ext/?callback=xxx
您应该有一个名为“xxx”的函数:


此外,请求的资源应该支持JSONP,如果它不支持,您将不会在回调中收到任何内容。

由于请求是异步的,因此您的代码在实际检索结果之前设置“div”。为了确保检索结果,然后设置div,请执行以下操作:

  $.ajax({
    url: 'https://api-metrica.yandex.com/analytics/v3/data/ga?end-date=today&ids=ga%3A35416355&dimensions=ga:pagePath&metrics=ga:users&filters=ga:pagePath==/p/etkinlikler.html&start-date=2015-10-25&oauth_token=AQAAAAAVs-uLAASpEAf-MmJK_kHgpU9Fwv8WArM',
    dataType: 'jsonp',
    async: false,
    success: function(result) { 
        res = result.totalsForAllResults["ga:users"];
        $("div").html(res);
        }
    });

数据被正确地检索,但是由于请求是异步的,您不能在成功回调之外设置html,将它放在成功回调之内,它就会工作

另外,当您不确定问题出在何处时,最好使用
console.log
记录数据,以确保成功检索数据


Edit:这就是为什么
async:false
选项不起作用,请检查接受的答案以了解详细信息。

$(“div”).html(res);=必须无法正常工作为什么对您不起作用:$.ajax({url:'',数据类型:'jsonp',async:true});函数processMe(data){$('div').html(data.totalsForAllResults[“ga:users”]);}必须是函数外的:(你确切的意思是什么?$('div”).html(res);=必须是函数外的为什么?你应该把这些行放在函数中,然后在回调URL参数中调用该函数。
  $.ajax({
    url: 'https://api-metrica.yandex.com/analytics/v3/data/ga?end-date=today&ids=ga%3A35416355&dimensions=ga:pagePath&metrics=ga:users&filters=ga:pagePath==/p/etkinlikler.html&start-date=2015-10-25&oauth_token=AQAAAAAVs-uLAASpEAf-MmJK_kHgpU9Fwv8WArM',
    dataType: 'jsonp',
    async: false,
    success: function(result) { 
        res = result.totalsForAllResults["ga:users"];
        $("div").html(res);
        }
    });