gpt4 book ai didi

javascript - Ajax get 方法不起作用

转载 作者:行者123 更新时间:2023-11-29 15:29:29 25 4
gpt4 key购买 nike

我有一个问题,我正在从 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.","");
}
});

这是我写的代码,我有这样的错误

Uncaught SyntaxError: Unexpected token :

url 是正确的,我看不出问题。

最佳答案

dataType 更改为:dataType: "json",

根据您最后的评论:

i did write like this but i got error Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. so i changed to jsonp

当源未在其末端启用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com