当我在浏览器中输入网址时,我得到了一个json响应。但我无法使用我的代码访问响应
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$.ajax({
url:"https://api.qwant.com/api/search/images?count=10&offset=1&q=cars",
type:"GET",
crossDomain : true,
async: false,
dataType: "jsonp",
jsonpCallback: "getStatus",
success: function(json) {
},
error: function(e) {
console.log(e);
}
});
function getStatus(response)
{
console.log(response.status);
}
</script>
答案 0 :(得分:0)
api.qwant
返回JSON,而不是JSONP。它也受same-origin policy
的限制。因此,由于浏览器的安全性,您通常会遇到通过跨域ajax请求访问数据的问题,除非您有一个CORS proxy代表您添加CORS标头并绕过同源策略。
顺便说一句,您可以使用CORS和JSONP支持的API尝试您的函数:
$.ajax({
url:"https://jsonplaceholder.typicode.com/posts",
type:"GET",
jsonpCallback: "getStatus",
dataType: "jsonp",
});
function getStatus(response)
{
console.log(response);
}
还查看: