gpt4 book ai didi

javascript - 使用 JSONP 从另一台服务器获取 JSON 数据

转载 作者:太空狗 更新时间:2023-10-29 13:45:39 26 4
gpt4 key购买 nike

我正在尝试从一家公司托管的网站收集 JSON 数据。我不在同一个域中,所以我不能只访问它。从 header 来看,他们似乎也不使用 CORS。所以我试过用JSONP来解析数据,但是好像不行。我试过 $.getJSON 和 $.ajax,但它们会抛出错误并且不会调用该函数。到目前为止,这是我的解决方案,在服务器的响应中,它仍然没有将数据包装在 getResults 中。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<script type="text/javascript" src="jquery/js/jquery-1.9.0.min.js"></script>

<script>
function getResults(data) {
console.log(data[0].name);
}
</script>
<script type='text/javascript' src='https://solstice.applauncher.com/external/contacts.json?callback=getResults'></script>

我对 HTML、JavaScript 和 jQuery 相当陌生,所以我真的很困惑为什么响应被包装在函数中,而控制台日志却不起作用。任何帮助,将不胜感激。

最佳答案

您可以使用多种方法,但最方便的两种方法是 AJAX 调用或使用 jQuery 的 getJSON() 方法

使用 AJAX 调用

$(document).ready(function() {
$(".btn").click(function() {
$.ajax({type: "get",
url: "http://api.forismatic.com/api/1.0/",
data: {method: "getQuote",format: "jsonp",lang: "en"},
dataType: "jsonp",
jsonp: "jsonp",
jsonpCallback: "myJsonMethod"
});
});
});
function myJsonMethod(response){
console.log (response);
}

在上述方法中,response Object 包含来自 API 调用的所有 JSON 数据。

使用 getJSON()

$(document).ready(function() {
$(".btn").click(function() {
$.getJSON("http://api.forismatic.com/api/1.0/?method=getQuote&format=jsonp&lang=en&jsonp=myJsonMethod&?callback=?");
});
});
function myJsonMethod(response){
console.log (response);
}

在上面的方法中发生了同样的事情。

注意 --> JSONP 采用要发送响应的回调函数的名称。

关于javascript - 使用 JSONP 从另一台服务器获取 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21715620/

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