我有一个问题,我正在从API获取json数据,
$.ajax({
url: request,
type: "get",
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
success: function (data) {
if (data.ResultCode==="200") {
console.log(data.Result[0]);
}
else if (data.ResultCode !== "200") {
myApp.alert(data.ResultDesc, "");
}
},
error: function () {
console.log("your call failed");
myApp.alert("Sunucuya erişilemiyor.","");
}
});
这是我写的代码,出现错误
url是正确的,我看不到问题。
最佳答案
将dataType
更改为:dataType:“json”,
根据您的最后评论:
当源端未启用CORS在不同域之间共享数据时,将发生此错误。如果您有权访问源,然后启用CORS,则将获取数据。
否则,另一个选择是在服务器上创建代理,然后调用该代理以从其他服务器获取数据。例如在php中,您可以执行以下操作:
//fetch.php
<?php
header('Content-Type: application/json');
$homepage = file_get_contents('http://www.example.com/');
echo json_encode($homepage);
?>
现在,您可以调用此文件来提供数据:
var request = 'fetch.php';
$.ajax({
url: request,
type: "get",
//contentType: "application/json; charset=utf-8", // not needed in this case
dataType: "json", // <----this has to be json
success: function (data) {
if (data.ResultCode==="200") {
console.log(data.Result[0]);
}
else if (data.ResultCode !== "200") {
myApp.alert(data.ResultDesc, "");
}
},
error: function () {
console.log("your call failed");
myApp.alert("Sunucuya erişilemiyor.","");
}
});
关于javascript - Ajax的get方法不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36148763/