繁体   English   中英

拨打AJAX,并收到“未捕获的参考错误”

[英]Making AJAX call, getting “Uncaught Reference Error”

问题

我正在尝试对河流数据的API进行AJAX调用,但是我无法使JSON对象出现在控制台中。 相反,我得到了Uncaught ReferenceError: jquery21309662145180627704_1432235037636 is not defined

更新#1-添加了丢失的AJAX调用代码

AJAX电话

$.ajax({
        url: 'http://opengov.brandon.ca/OpenDataService/default.aspx?format=jsonp&dataset=riverlevel&columns=Date',
        type: 'GET',
        dataType: 'jsonp',
        success: function(result){
            console.log(result);
        }
    });

API文档: http : //opengov.brandon.ca/api.aspx

请求参数:

?format=jsonp&dataset=riverlevel&columns=Date

转到AJAX调用网址 ,我看到了:

jsonpcallback([
  {
    "Date" : "19/05/2015 12:26:05 PM",
    "River Level (ft)" : "1170.16000",
    "River Level (m)" : "356.66477"
  },
  {
    "Date" : "15/05/2015 9:01:20 AM",
    "River Level (ft)" : "1170.51000",
    "River Level (m)" : "356.77145"
  },
  {
    "Date" : "14/05/2015 9:08:09 AM",
    "River Level (ft)" : "1170.84000",
    "River Level (m)" : "356.87203"
  },

您正在调用的API未正确实现JSONP。

回调名称区分大小写,但API会将其转换为响应中的所有小写字母。 这是一个问题,因为jQuery将为您生成的名称以jQuery (大写的Q)开头。

为了解决这个问题,您需要生成自己的回调名称(而不是让jQuery为您完成),并确保它不包含任何大写字母。

 function callbackName() { return "jquery_callback" + Date.now(); } $.ajax({ url: 'http://opengov.brandon.ca/OpenDataService/default.aspx?format=jsonp&dataset=riverlevel&columns=Date&callback=?', type: 'GET', dataType: 'jsonp', success: function(result) { console.log(result); }, jsonpCallback: callbackName }); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM