Javascript ajaxget方法不起作用
我有个问题,我从API获取json数据Javascript ajaxget方法不起作用,javascript,jquery,ajax,api,get,Javascript,Jquery,Ajax,Api,Get,我有个问题,我从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])
$.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:“json”
根据你最后的评论:
我确实是这样写的,但我得到了对飞行前请求的错误响应,该请求未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。因此不允许访问源代码“null”。因此我改为jsonp
当源端未启用CORS以跨不同域共享数据时,会发生此错误。如果您可以访问源,然后启用CORS,那么您将获得数据
否则,另一个选项是在您的服务器上创建一个代理,并调用该代理从其他服务器获取数据。例如,在php中,您可以执行以下操作:
//fetch.php
<?php
header('Content-Type: application/json');
$homepage = file_get_contents('http://www.example.com/');
echo json_encode($homepage);
?>
//fetch.php
现在可以调用此文件来提供数据:
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.","");
}
});
var请求='fetch.php';
$.ajax({
url:请求,
键入:“获取”,
//contentType:“application/json;charset=utf-8”,//在本例中不需要
数据类型:“json”,//这是完整的错误消息吗?似乎是语法错误似乎您的资源不支持jsonp请求…请使用网络选项卡查看响应内容可能他正在执行一个jsonp
请求,这不是错误的原因首先我这样写了,但我得到了对飞行前请求的错误响应未通过访问控制rol检查:请求的资源上不存在“Access Control Allow Origin”标题。因此不允许访问Origin“null”。因此,我更改为JSONPTH,这是CORS的错误。CORS已在源位置启用,否则您需要在服务器上设置代理来获取数据。@ElzoValugijsonp
使用一些不同类型的o如果数据看起来像是回调({….data….})
,那么在回答中它确实表明OP试图直接访问json数据。因此,jsonp
没有意义。