如何从 JavaScript 调用 REST API

2024-02-04

我有一个提供 json 数据的网址...

我想从 javascript 访问该 URL,但收到此错误:

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

Code :

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>

你的代码看起来是正确的。

你在做一个fully qualified URL call?

如果您要进行完全限定的 URL 调用,请确保以下事项。

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

Update:这是行不通的,因为它是跨域调用。

解决这个问题

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>

以供参考:维基百科 http://en.wikipedia.org/wiki/JSONP

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 JavaScript 调用 REST API 的相关文章

  • Backbone.js 与 Google 地图 - 有关此问题和侦听器的问题

    我有一个为 Google Maps v3 创建的模块 我正在尝试将其转换为 Backbone js 视图构造函数 到目前为止 这是我的视图模块 我将解释代码后遇到的问题 pg views CreateMap Backbone View ex
  • jQuery - 拖动div css背景

    我希望能够在 div 内按住鼠标并移动它的背景 在谷歌上搜索了很多 没有找到我想要的 这是目标 显示的地图是要拖动的对象 http pontografico net pvt gamemap http pontografico net pvt
  • 如何在WebBrowser控件中注入Javascript?

    我试过这个 string newScript textBox1 Text HtmlElement head browserCtrl Document GetElementsByTagName head 0 HtmlElement scrip
  • 无法从 Twin.macro 中的 Prop 获取值

    您可以在这里查看我正在尝试执行的操作的示例 https codesandbox io s vibrant leaf qj8vz https codesandbox io s vibrant leaf qj8vz 注意 这个特定的例子使用双宏
  • json、rails、javascript 中的解析错误

    我需要将 ruby 数组放入 javascript 数组中 但出现解析错误 var characters 这就是我将 ruby 嵌入到内联 javascript 中的方式 但它出现了解析错误 我应该如何将此 ruby 数组放入 javasc
  • 更改文本框中一个字符的颜色 HTML/CSS [重复]

    这个问题在这里已经有答案了 我正在设计一个网站 我想问一下大家 如何通过CSS改变HTML文本框中字符串中的一个字符的颜色 示例 STACK OVER FLOW 只是 A 字母是红色的 你不能用常规方法做到这一点
  • 测量填写部分的时间 - 谷歌表单

    我正在尝试使用谷歌表单进行研究调查问卷 对于某些部分 我想自动测量用户填写所需的时间 谷歌表单中没有这样的选项 我尝试复制表单源 并用 javascript 填充时间 但它不起作用 跨源问题 未能成功托管复制的表单 如何做到 我如何衡量回答
  • 如何按值删除数组中的多个项目?

    我正在尝试做一个removeAll 函数 它将删除具有该特定值 而不是索引 的数组的所有元素 当我们对循环进行任何更改时 棘手的部分就出现了 索引往往会移动 使其很难像我们想要的那样工作 并且每次更改时都重新启动循环 这在大数组上效率非常低
  • 本地 401 工作,临时服务器得到 302

    我可能不会获得帮助第一次尝试所需的所有信息 但我会尽我所能 并在我们进行过程中对其进行编辑 我有一个使用 Spring Security Core 插件的 Grails 1 3 7 应用程序 我正在编写处理会话超时和 ajax 请求的代码
  • 两个日期之间间隔 15 分钟 javascript

    问题 我需要将两个日期 时间戳之间的所有 15 分钟时隙 日期格式 2016 08 10 16 00 00 创建为 HH mm 格式的数组 其中分钟限制为 00 15 30 45 示例 中午 12 30 到下午 2 30 将 gt 12 3
  • 如何反转媒体查询中元素的顺序?

    我有两个 div 左和右 但是当屏幕小于 500px 时 左 div 成为底部 div 右 div 成为顶部 div DOM 中的第一个 div 应该显示为第二个 第二个 div 为第一个 I use display flex 然后 div
  • 附加元素在 IE11 中不起作用

    在构造函数中我创建一个元素 var this legendElement this compileLegend 后来我想在事件监听器中使用它 var takeControl function this element empty this
  • 未处理的承诺拒绝:Zone.js 检测到 ZoneAwarePromise `(window|global).Promise` 已被覆盖

    我尝试将 Angular2 快速入门代码合并到我当前的 webpack 构建中 似乎有些东西正在覆盖zone js抛出此错误的承诺 根据我见过的大多数 stackoverflow 帖子 zone js文件需要在任何可能包含承诺的文件之后加载
  • backbone.js:视图中影响集合中不同模型的按钮

    我刚刚开始使用backbone js 到目前为止 我真的很喜欢它 我有这样的事情 ModelA ModelB ViewA ViewB ModelA 持有 ModelB 的集合 如何使用按钮构建模型 B 的视图 单击该按钮会更改集合中下一个
  • 在部分渲染时执行 JavaScript

    我有一些 JavaScript 代码 我想在用户单击其文件夹之一后执行 它会触发 show 操作和 show js erb 从而呈 现部分内容 Show js erb 当用户单击其文件夹之一时触发 如下所示 body append 它成功注
  • iframe 位置居中

    所以我找到了这段用于将内容放在中心的代码 但我的问题是它是为容器制作的 你知道如何为 iframe 制作它吗 或者你知道另一个代码吗 代码 center margin auto width 60 border 3px solid 73AD2
  • 如何在 WebView 中添加 JavaScript 函数并稍后在提交 reCAPTCHA 时从 HTML 调用它

    我在 WebView 中添加一个 JavaScript 函数 如下所示 Kotlin val webView findViewById R id webview as WebView webView getSettings setJavaS
  • 如何在 jQueryUI 工具提示中换行

    新版本的 jQueryUI 1 9 附带了本机工具提示小部件 经过测试 如果内容 标题属性的值 很短 它就可以正常工作 但如果内容很长 工具提示一旦显示就会与输入文本重叠 有a demo http jqueryui com tooltip
  • 如何将命名空间与 TypeScript 外部模块一起使用?

    我有一些代码 基本类型 ts export namespace Living Things export class Animal move export class Plant photosynthesize dog ts import
  • 右列固定的 Div 表

    我最近接手了一个非营利网站作为一个项目 我正在使用一个现有的网站 所以我必须使用很多已经编程的东西 所以我所要做的就是创建设计 I made a diagram of basically what I can t figure out ho

随机推荐

  • 仅使用辅助全局索引查询 Dynamodb 表

    我尝试使用辅助全局索引查询 Dynamodb 表 但收到 java lang IllegalArgumentException 非法查询表达式 在查询中找不到哈希键条件 我想做的就是获取时间戳大于某个值的所有项目 而不考虑密钥 时间戳不是键
  • JavaScript 正弦波

    track function x y top ampl return top top 2 x x ampl Math sin top 20 y top this screenHeight lt 0 65 y 2 1 y ampl Math
  • 多级视图:expandablelistview

    我正在尝试编写多级树 我确实看过expandablelistview 但它只支持两个级别 我确实查看了其他问题 SO 和帖子 我发现的最有希望的帖子是http mylifewithandroid blogspot com 2011 02 3
  • Py2Exe,[Errno 2]没有这样的文件或目录:'numpy-atlas.dll'

    我在我的程序中包含了 matplotlib 我在谷歌上搜索了 numpy atlas dll 我似乎是地球上唯一遇到这个问题的人 setup py from setuptools import setup import py2exe set
  • 二维中两个向量的平分线(可能共线)

    一般如何找到两个向量的二等分 b bx by 我们考虑两个非零向量 u ux uy v vx vy 可能是共线的 对于非共线向量我们可以写 bx ux u vx v by uy u vy v 但对于共线向量 bx by 0 Example
  • WPF TreeView SelectedItemChanged 未触发

    我正在尝试创建一个 TreeView 它允许用户重命名 TreeView 中的节点 该树表示 HL7 消息 并按从段到子组件的层次结构进行构建 例如 PID PID 1 PID 2 etc 我需要允许用户选择一个节点 按 F2 将节点置于编
  • getMethod("summary",signature = "FitDiff") 中的错误

    我正在使用比较 lavaan 对象semTools compareFit 它抛出一条非常奇怪的错误消息 我还尝试了以下可重现的示例 data HolzingerSwineford1939 package lavaan HS modelA l
  • 使用 jQuery 检测首页加载?

    我需要检测 jQuery 中页面的首次加载 以便仅在用户第一次导航到该页面时加载页面时才能执行某些操作 类似于服务器端代码页 ispostbasck 我已经测试了 document ready 每次页面加载时它都会触发 因此这不会提供我需要
  • JOOQ Oracle 数字精度和 Java 数字映射

    谁能告诉我或提供关于 oracle 数字精度和 java 类型之间映射的参考 即数字 x 在什么时候映射到短整型 整型 长型 BigInteger 等 Java 整数类型与 Oracle 并不完美匹配NUMBER类型 本质上 有两种方法可以
  • 为什么选择 Phing/Ant 而不是 Bash 和 Make? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我一直在工作中使用 Phing 它是我到达那里时设置的 并考虑将它用于一些个人项目 我还没有弄清楚的一件事是最大的吸引力是什么 Phing 或
  • Swift - Google 地图更新当前位置的路线

    我目前正在学习 Swift 的 Google Maps API 因此我有几个问题希望你们能回答 碰巧我正在尝试创建一个简单地为用户提供方向的应用程序 就像苹果地图和谷歌地图一样 它只是为用户绘制一条方向路线 我已经成功地完成了这项工作 但我
  • 布尔运算符的差异:& 与 && 和 |与||

    我知道规则 and 但什么是 and 请用例子向我解释这些 这些是按位 AND 和按位 OR 运算符 int a 6 110 int b 4 100 Bitwise AND int c a b 110 100 100 Bitwise OR
  • 提取 pandas 数据框中的嵌套 JSON

    我正在尝试在以下 pandas 数据框中解压嵌套的 JSON id info 0 0 u a u good u b u type1 u a u bad u b u type2 1 1 u a u bad u b u type1 u a u
  • 访问集合中的唯一元素[重复]

    这个问题在这里已经有答案了 我有一个set在Python中 我根据条件一一删除元素 当集合只剩下 1 个元素时 我需要返回该元素 如何从集合中访问该元素 一个简化的例子 S set range 5 for i in range 4 S S
  • CAP定理是否意味着ACID对于分布式数据库是不可能的?

    有NoSQL ACID 分布式 数据库 https stackoverflow com questions 2608103 is there any nosql that is acid compliant 尽管有 CAP 定理 这怎么可能
  • 警告:库类 android.net.http.AndroidHttpClient 扩展或实现程序类 org.apache.http.client.HttpClient

    我在导出 Android 应用程序时从 proguard 收到这些奇怪的错误 我已经编辑了配置文件 但我找不到剩下的错误是什么 我已经添加了外部 Jars 配置了 dontwarn 现在我找不到剩下的问题 2013 11 22 17 13
  • 房间持久性:实体和 Pojo 必须有一个可用的公共构造函数

    我正在尝试通过 Room Persistence 库向我的 Android 应用程序添加数据库 但收到此错误 错误 实体和 Pojo 必须有一个可用的公共构造函数 您可以有一个空构造函数 也可以有一个参数与字段匹配 按名称和类型 的构造函数
  • 方向更改时保留软输入/IME 状态

    我的应用程序中遇到了一个小的用户体验问题 当软键盘打开时从横向更改为纵向 或纵向更改为横向 时 键盘会隐藏 我想要做的是停止键盘在方向改变时隐藏 Edit 我不想强制打开键盘 如果键盘在方向更改之前被隐藏 我希望它保持隐藏状态 我想reta
  • 将一个文件夹中的所有文件移动到另一个文件夹中?

    当我将一个文件从一个位置移动到另一个位置时 rename path filename newpath filename 如何将一个文件夹中的所有文件移动到另一个文件夹中 尝试了这个没有结果 rename path newpath 一个稍微冗
  • 如何从 JavaScript 调用 REST API

    我有一个提供 json 数据的网址 我想从 javascript 访问该 URL 但收到此错误 纯文本文档的字符编码未声明 如果文档包含 US ASCII 范围之外的字符 则在某些浏览器配置中 该文档将呈现为乱码 文件的字符编码需要在传输协