为了账号安全,请及时绑定邮箱和手机立即绑定

在javascript中使用AJAX获取JSON返回NULL而不是JSON对象

在javascript中使用AJAX获取JSON返回NULL而不是JSON对象

长风秋雁 2021-09-17 12:42:08
当我尝试使用 ajax 检索 JSON 时,我首先遇到了 CORS 问题,我通过启用 crossDomain 为 true 并将 dataType 添加为 jsonp(注意“p”)来解决该问题。运行脚本时,它返回一个 null 而不是它应该从 JSON 获取的数据<html><head></head><body><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script><script>var json = (function() {        var json = [];        $.ajax({            'async': false,            'global': false,            'crossDomain': true,            'method': "get",            'url': "products.json",            'dataType': "jsonp",            'success': function (data) {                json = data;            }        });        return json;    })();console.log(json);</script></body></html>JSON{    "items": [{        "title": "Express"    }, {        "title": "Unexpress"    }]}我期待一个 json 但它在控制台中返回 null 和一条消息:“Uncaught SyntaxError: Unexpected token :”在 JSON 的第 2 行。
查看完整描述

2 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

将 'dataType': "jsonp", 更改为 'dataType': "json",


查看完整回答
反对 回复 2021-09-17
?
呼唤远方

TA贡献1856条经验 获得超11个赞

你还没有定义jsonpcallback,参考下面的链接这可能有帮助



查看完整回答
反对 回复 2021-09-17
  • 2 回答
  • 0 关注
  • 304 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信