1

サーバー B の Web サイトにリクエストを送信するサーバー A でホストされている Web サイトがあります。

サーバー B の Web サイトは最近、別のサーバーに移動しました。そのサーバーを C と呼びましょう。

サーバーの移行以降、要求された情報はサーバー A に表示されなくなりました。

サーバー A がリクエストを送信するために使用する JavaScript を以下に示します。

<script type="text/javascript">         
   jQuery(document).ready(function() {
      var ppUrl = 'http://www.nowgamernetwork.com/widgets/index.php?widget=popular&sourcetag=/other/&callback=jsonp1372412035546&_=1372412036723';
      jQuery.getJSON(ppUrl, function(data) {
          jQuery('.ipPopularPosts').append(data.content);
      });
   });
</script>

興味深いことに、リクエスト URL をブラウザに入れると、正しい情報が表示されます。

http://www.nowgamernetwork.com/widgets/index.php?widget=popular&sourcetag=/other/&callback=jsonp1372412035546&_=1372412036723

しかし、Web サイトがこの情報を要求すると、次の JavaScript エラーが表示されます。

Resource interpreted as Script but transferred with MIME type text/html: "http://www.nowgamernetwork.com/widgets/index.php?widget=popular&sourcetag=/other/&callback=jsonp1372416916349&_=1372416917575". jquery.js:3501

Uncaught SyntaxError: Unexpected token < index.php:1

上記のエラーは、以下に示す index.php の 1 行目に関連しています。

<script type="text/javascript">window.jQuery || document.write("<script src='http://www.nowgamernetwork.com/js/libs/jquery-1.5.1.min.js'>\x3C/script>")</script>

何らかの理由で、サーバー A は、サーバー C から取得する応答が「<」で始まるという事実を好まない。

この問題を解決するにはどうすればよいですか?

どんな助けでも大歓迎です!

4

3 に答える 3

1
  • &callback=?' を使用します。URLで
  • データ型: 'jsonp'
(function($) {

var url = 'http://www.nowgamernetwork.com/widgets/index.php?widget=popular&sourcetag=/other/&callback=?';

$.ajax({

   type: 'GET',
    url: url,
    async: false,
    jsonpCallback: 'jsonCallback',
    contentType: "application/json",
    dataType: 'jsonp',
    success: function(json) {
       $(document.body).html(json.content)
    },
    error: function(e) {
       console.log(e.message);
    }
});

})(jQuery);
于 2013-06-28T14:08:21.500 に答える
0
<script src='http://www.nowgamernetwork.com/js/libs/jquery-1.5.1.min.js'>\x3C/script>

問題が見えますか?

于 2013-06-28T11:13:45.657 に答える