使用jQuery消费JSON

Consume JSON using jQuery

本文关键字:JSON 消费 jQuery 使用      更新时间:2023-09-26

我正在开发一个从外部url消费json的网站,我试过了,但我得到了一个错误

XMLHttpRequest cannot load http://reuniyo.com/tst/json.php. Origin null is not allowed by Access-Control-Allow-Origin .

下面是我使用的代码:

var url="http://reuniyo.com/tst/json.php";
jQuery.support.cors = true;
$("#success").load(url, function(response, status, xhr) {
  if (status == "error") {
    var msg = "Sorry but there was an error: ";
    $("#error").html(msg + xhr.status + " " + xhr.statusText);
  }
});

请帮帮我。提前感谢

假设远程URL与您正在开发的网站不在同一个域中,您需要:

  1. 使用JSONP如果远程API支持它(我的测试表明它不支持)

  2. 让远程站点在其响应头中添加Access-Control-Allow-Origin: *

如果这两种情况都不可能发生,那么你就不走运了——这些规则是用来防止跨域脚本攻击的。

json.php的顶部添加这一行

header('Access-Control-Allow-Origin: *');

不要尝试直接从本地文件系统开发,这会产生各种权限问题。将您的开发站点移动到http服务器(如果您喜欢,您可以在本地安装一个)。

您还需要确保访问站点的主机名具有reuniyo.com对其发出Ajax请求的权限(使用前面提到的Access-Control-Allow-Origin HTTP头)。