使用JavaScript从URL调用和显示JSON数据

使用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("

这是我从包含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("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你是对的,只要传统浏览器不需要支持。