gpt4 book ai didi

javascript - 如何从 JavaScript 调用 REST API

转载 作者:技术小花猫 更新时间:2023-10-29 12:52:50 25 4
gpt4 key购买 nike

我有一个提供 json 数据的 url...

我想从 javascript 中访问该 URL,但出现此错误:

未声明纯文本文档的字符编码。如果文档包含 US-ASCII 范围之外的字符,则在某些浏览器配置中,文档将呈现为乱码文本。文件的字符编码需要在传输协议(protocol)中声明或者文件需要使用字节序标记作为编码签名

代码:

function a(){
$.getJSON(url,function(data) { alert(data);});
}

完整代码:

<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" ></meta>
<script language="JavaScript" type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script>

function a(){
$.getJSON(url,function(data) { alert(data);});
}
</script>
</head>
<body>
<input type="text"/>
<input type="submit" value="search" onclick="a()"/>
</body>
</html>

最佳答案

您的代码似乎是正确的。

您是否在进行完全限定的 URL 调用

如果您要进行完全限定的 URL 调用,请确保满足以下条件。

  1. 您正在调用同一域(同一服务器)。你不能做一个对另一个域的简单 JSON 调用。
  2. 如果要跨域调用,就得用JSONp

更新:这不起作用,因为它是跨域调用。

解决这个问题

JavaScript

创建一个函数

function getMyData(data) {
alert(data);
//Do the magic with your data
}

服务器端

在服务器端将数据包装在函数语法中

getMyData("Enter your data here");

JavaScript

然后创建一个脚本标签并添加一个链接到你的跨域页面

 <script type="text/javascript"
src="cross ref url">
</script>

供引用:wikipedia

编辑:另一种选择是在您的域上创建代理。即在您的域中创建一个页面,该页面在内部调用跨域页面并将相同的数据返回给您的 Ajax 调用。

关于javascript - 如何从 JavaScript 调用 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14433212/

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