gpt4 book ai didi

ajax - jQuery AJAX JSON 数据类型转换

转载 作者:行者123 更新时间:2023-12-03 22:34:17 25 4
gpt4 key购买 nike

希望这个标题不会神秘。发生的情况是我有一个 jQuery AJAX 脚本,我试图用它来访问远程服务器上的 API,该脚本返回 JSON 响应。但是,API 将 JSON 返回为 MIME 类型“text/html”(在响应 header 中)而不是“application/json”。显然,我只需将返回的内容类型从文本更改为 JSON,以使 AJAX 调用正确解释数据。

不幸的是,事实并非如此。我尝试过多种不同的方法,但都失败了。我最接近让这个 API 调用工作的是当调试器告诉我“资源解释为脚本但使用 MIME 类型 text/html 传输”时。 AJAX 调用错误并显示我的调试消息,该消息以 JSON 格式转储 jqXHR 对象,这告诉我:{"readyState":4,"status":200,"statusText":"parsererror"}

这是我的代码示例(尽管我尝试以多种方式更改代码以使其正常工作,但此版本似乎是最接近正确的):

$.ajax({
type: 'GET',
url: 'http://username:api-key@www.kanbanpad.com/api/v1/projects.json',
contentType: 'application/json',
dataType: 'jsonp',
converters: {
'jsonp': jQuery.parseJSON,
},
success: function(data) {
alert(data);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(JSON.stringify(jqXHR));
console.log(textStatus+': '+errorThrown);
}
});

如果有人能弄清楚我需要做些什么来使这项工作成功,我将非常感激。

还值得注意的是,如果您将 API URL 复制/粘贴到浏览器地址栏中并单击“开始”,它会提供带有正确响应 header (“application/json”)的正确 JSON 响应

最佳答案

所以除非Kanbanpad更新他们的API,否则无法直接用JS访问。您将必须使用 PHP(或其他一些)来处理请求。

它的效果也很好,只需要一个额外的步骤即可。

仅供任何正在寻找解决方案的人使用。

关于ajax - jQuery AJAX JSON 数据类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5345770/

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