使用JavaScript从URL调用和显示JSON数据
这是我从包含json数据的链接获取数据的html代码。但它不起作用,所以有人能告诉我为什么吗使用JavaScript从URL调用和显示JSON数据,javascript,html,json,Javascript,Html,Json,这是我从包含json数据的链接获取数据的html代码。但它不起作用,所以有人能告诉我为什么吗 <html> <head> <script src="http://code.jquery.com/jquery-1.10.1.min.js"> </script> <script> $(document).ready(function(){ $("#btnjson").click(function(){ $.getJSON("
<html>
<head>
<script src="http://code.jquery.com/jquery-1.10.1.min.js">
</script>
<script>
$(document).ready(function(){
$("#btnjson").click(function(){
$.getJSON("http://waitrapp.co/bipin/practice.php",function(result){
$("#ID").append(result.ID);
$("#Item_Name").append(result.Item_Name);
$("#Item_Price").append(result.Item_Price);
});
});
});
</script>
</head>
<body>
<button id="btnjson">Load!!!</button>
<p id="ID">ID: </p>
<p id="Item_Name">Item Name: </p>
<p id="Item_Price">Item Price: </p>
</body>
</html>
的HTTP响应http://waitrapp.co/bipin/practice.php 不包含正确的标题,如果在php文件中设置此项,则应可以:
header("Access-Control-Allow-Origin: *");
这可能太简单了,请看这篇文章:
正如Salec指出的,JSON无效,元素之间缺少括号[]和逗号:
[
{
"ID": "10",
"Item_Name": "Pizza",
"Item_Price": "2.99",
"Date_Created": "2014-10-01 08:27:41"
},
{
"ID": "11",
"Item_Name": "Burrito",
"Item_Price": "2.99",
"Date_Created": "2014-10-01 09:13:03"
},
{
"ID": "12",
"Item_Name": "Burger",
"Item_Price": "4.99",
"Date_Created": "2014-10-06 19:56:01"
},
{
"ID": "13",
"Item_Name": "Steak",
"Item_Price": "10.99",
"Date_Created": "2014-10-06 19:56:17"
}
]
您的Json看起来不正常 首先尝试检查它:
您需要创建一个对象数组定义不工作。查看浏览器的开发工具。看看JavaScript控制台。它是否报告任何错误?看看网络标签。有人提出要求吗?它得到回应了吗?它们是否包含您期望的数据?JSONP是一种在编写CORS规范之前绕过同源策略的黑客。为什么黑客应该比更灵活的标准更受欢迎?@Quentin你是对的,只要传统浏览器不需要支持。