我正在尝试向我无法控制的域上的API发出简单的JSON get请求.
我的代码很简单:
$(document).ready(function () {
$.ajax({
type: 'GET',
url: 'http://pubapi.cryptsy.com/api.php?method=marketdatav2',
success: function (data) {
console.log(data);
}
});
});
Run Code Online (Sandbox Code Playgroud)
但由于这是一个跨域请求,我在Chrome控制台中收到此错误:
XMLHttpRequest cannot load http://pubapi.cryptsy.com/api.php?method=marketdatav2. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://fiddle.jshell.net' is therefore not allowed access.
当我尝试添加参数时dataType: 'jsonp',Console返回此错误:
未捕获的SyntaxError:意外的令牌:
但是当我检查Chrome中的Network选项卡时,我看到在Headers下,Status Code为200 OK,我可以在Response选项卡中看到完整的响应,但是控制台仍然显示"Unexpected Token:"错误和JQuery JSON请求仍然失败.
这是JS Fiddle链接:http://jsfiddle.net/6Qcq2/您可以看到相同的结果
我试过在http://www.hurl.it上运行网址,它显示状态OK和响应,所以我一定做错了.
我整天都在试图弄清楚如何解决这个问题.
非常感激您的帮忙.