Php getJson不适用于webhosting

Php getJson不适用于webhosting,php,javascript,html,json,getjson,Php,Javascript,Html,Json,Getjson,我有个小问题。我正在连接到一个提供JSON结果的web服务,并尝试解析结果。该代码在我的本地主机(wamp服务器)上运行良好,但在我尝试的任何web主机帐户上都没有运行该代码。 下面是提供JSON的url http://mohamedbadr.com/webservice/list.php 这是我试图获取结果的文件: http://contestlancer.com/web/getList.php 下面是Getlist文件的代码: <!DOCTYPE HTML> <

我有个小问题。我正在连接到一个提供JSON结果的web服务,并尝试解析结果。该代码在我的本地主机(wamp服务器)上运行良好,但在我尝试的任何web主机帐户上都没有运行该代码。 下面是提供JSON的url

http://mohamedbadr.com/webservice/list.php
这是我试图获取结果的文件:

http://contestlancer.com/web/getList.php
下面是Getlist文件的代码:

    <!DOCTYPE HTML>
<html>
<head>
<title>Hotel Promotion List</title>
<script type="text/javascript" src="jquery.js"></script>
<link rel="stylesheet" type="text/css" href="style.css"/>
<script type="text/javascript">
function getList()
{
var i=0;

var ntable="<table><thead><tr><th>Image</th><th>Name</th><th>Rating</th><th>Highlights</th></tr></thead><tbody>";
$.getJSON("http://mohamedbadr.com/webservice/list.php", function(data){
    $.each(data.promos, function(key, value) {

ntable+="<tr><td><a href='promotion.php?id="+value.promo.id+"'><img src='"+value.promo.image+"' height='100' width='150'/></a></td><td><a href='promotion.php?id="+value.promo.id+"'>"+value.promo.name+"</a></td><td> "+value.promo.stars+"</td><td> "+value.promo.highlights+"</td></tr>";       
});

ntable+="</tbody></table>";
    $("#content").html(ntable);
});


}
</script>
</head>
<body onLoad="getList()">
<div id="wrapper">

    <div id="content"></div>

</div>


</body>
</html>

酒店促销清单
函数getList()
{
var i=0;
var ntable=“ImageNameRatingHighlights”;
$.getJSON(“http://mohamedbadr.com/webservice/list.php,函数(数据){
$.each(data.promos、函数(键、值){
ntable+=“”+value.promo.stars+“”+value.promo.highlights+“”;
});
ntable+=“”;
$(“#content”).html(ntable);
});
}

最有可能的是,url没有被打开。解决方法是什么?非常感谢您提供的任何帮助

因为您提出的是跨域请求,所以它不起作用。域A到域B

尝试将此添加到
http://mohamedbadr.com/webservice/list.php
在打印任何输出之前

header('Access-Control-Allow-Origin: http://contestlancer.com');

正如Nadh所提到的,这是由于跨域请求造成的。更多信息@。理解力

由于您使用的是jQuery getJson(),因此也可以尝试这种方法

var url =  "http://mohamedbadr.com/webservice/list.php";
$.getJSON(url + "?callback=?", null, function(data) {
    ... Success Logic here...
});
url末尾的
?回调=?
将把您的请求转换为JSONP。如果删除它,这将是一个普通的Ajax调用

理解力


--Arvind.

是否检查了适当的标题?如果没有设置,您将无法从其他域获得响应…@Sirko抱歉,我对json一无所知我需要更改代码的哪一部分?您无法更改任何内容,除非您拥有该站点,否则您可以从其他域获得json。他们必须为跨源请求设置一个额外的头才能工作。请参阅链接的Wikipedia条目。我拥有从@Sirko获取json的网站,因此请告诉我添加了什么内容请参阅您的服务器设置过程。谢谢回答。在我看来这是个问题。添加此行后将返回给您:)