getJson没有开发webhosting

时间:2013-07-21 16:58:09

标签: php javascript html json getjson

我有一个小问题。我正在连接到提供JSON结果并尝试解析结果的Web服务。代码在我的localhost(wamp服务器)上工作正常,但代码不能在我尝试的任何Web主机帐户上运行。 这是提供JSON的网址

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>

最有可能的是,网址没有被打开是什么解决方案?任何帮助将受到高度赞赏

2 个答案:

答案 0 :(得分:2)

由于您正在提出跨域请求,因此无效。域A到域B.

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

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

答案 1 :(得分:0)

如Nadh所述,这是由于跨域请求。更多信息@ HTTP Access Control。了解Same Origin Request

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

var url =  "http://mohamedbadr.com/webservice/list.php";
$.getJSON(url + "?callback=?", null, function(data) {
    ... Success Logic here...
});

网址末尾的?callback=?会将您的请求转换为JSONP。如果你删除它,这将是一个普通的Ajax调用。

了解JSONP

- Arvind。