跨域Json解析使用JQuery错误以HTML格式显示

时间:2014-03-19 12:22:57

标签: jquery json cross-domain jsonp

我做了一些关于如何使用jsonp将Json解析成html的研究,因为json在远程域上。但我无法弄清楚为什么会出现这个错误以及如何处理错误:

Uncaught SyntaxError: Unexpected token :

这是我的代码:

$("document").ready(function() {
        var url = "http://demos.158.bg/football/apis/eplApiV1.php?action=getRoundListByLeagueID&leagueID=7";

        $.getJSON(url + "?callback=?", null, function(jsonp) {

            $("#div-my-table").text("<table>");

            $.each(data, function(i, item) {
                          // doing some stuff here
            });

            $("#div-my-table").append("</table>");
        });
    });

感谢您的建议。

编辑:找到解决方案。对于那些将来到这篇文章的人,只需在您的域名上创建php文件:

<?php
echo file_get_contents($remote_domain_url);

&GT;

并在getJSON中包含该php文件的URL。您将不再需要JSONP。 编辑代码:

$(&#34; document&#34;)。ready(function(){             var url =&#34; http://your.domain/phpfile.php&#34 ;;

        $.getJSON(url, null, function(data) {

            $("#div-my-table").text("<table>");

            $.each(data, function(i, item) {
                          // doing some stuff here
            });

            $("#div-my-table").append("</table>");
        });
    });

1 个答案:

答案 0 :(得分:1)

您正在尝试发出JSONP请求,但服务器正在使用JSON进行响应。您必须修改服务器端代码(在demos.158.bg上)以支持JSONP(即在查询字符串中查找callback参数,然后返回由该值组成的application/javascript文档,然后是(,然后是数据,然后是)