我试图向https://api.mojang.com/users/profiles/minecraft/USERNAME发出一个AJAX请求,这应该返回JSON数据(不确定是否JSONP)
当我点击执行AJAX请求的按钮时,我得到了这个:
http://prntscr.com/8xswr1(谷歌Chrome控制台)
当我双击' dude1?回调...'我明白了:
包含我想要返回的JSON数据,这意味着我正在发出请求并获取JSON数据,但我无法解析它或获取信息
代码:
<!DOCTYPE html>
<html>
<head>
<title>Website</title>
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
<script>
function getInfo() {
username = $('#username').val();
$.ajax({
type: 'GET',
url: "https://api.mojang.com/users/profiles/minecraft/" + username,
//crossDomain: true,
dataType: 'jsonp',
success: function (data) {
alert(data.name);
}
});
}
</script>
</head>
<body>
<form>
Username: <input type="text" id="username" name="username"/>
</form>
<button onclick="getInfo();">Submit</button>
<span id="info">
</span>
</body>
</html>
另外,如果我更改了&#39; dataType&#39;参数到&#39; json&#39;我收到这个错误 http://prntscr.com/8xsy9e
答案 0 :(得分:1)
这应该返回JSON数据(不确定是否JSONP)
这是JSON。
当我点击将执行AJAX请求的按钮时,我得到了这个
这是尝试执行JSON的典型错误,就好像它是JSONP一样。
当我双击&#39; dude1?回调...&#39;我明白了
是的,JSON。不是JSONP。
另外,如果我更改了&#39; dataType&#39;参数到&#39; json&#39;我收到此错误
是的,您要求提供数据的网站并不允许您的网站使用访问者的浏览器阅读该网站。
跨域Ajax要求您从中获取数据的网站与您合作提供。
改为使用您的服务器获取数据。