作者热门文章
- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我有一个提供 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 调用,请确保满足以下条件。
更新:这不起作用,因为它是跨域调用。
解决这个问题
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/
我是一名优秀的程序员,十分优秀!