1

少し問題があります。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>

ほとんどの場合、URL が開かれていません。これに対する解決策は何ですか? どんな助けでも大歓迎です

4

2 に答える 2

0

Nadh が述べたように、これはクロスドメイン リクエストによるものです。詳細情報 @ HTTP アクセス制御Same Origin Requestを理解する。

jQuery getJson() を使用しているため、代わりにこのアプローチを試すことができます

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

URLの?callback=?末尾にある は、リクエストを JSONP に変換します。これを削除すると、これは単純な Ajax 呼び出しになります。

JSONPについて

-- アービンド。

于 2013-07-21T17:21:49.663 に答える