JavaScript - JSON不显示

时间:2014-03-31 22:11:35

标签: javascript jquery jsonp

这是我第一次使用JSON,我需要在与JSON不在同一台服务器上的网页上显示这个JSON http://www.rockfm.mx/jsonApps/jsonAlAire.php我知道我必须使用JSONP但我的代码不在这里只是一个例子

<script>
$(document).ready(function(){
});
$("#loaduserdata").click(function(){
    $("#userdata tbody").html("");
    $.getJSON(
        "www.rockfm.mx/jsonApps/jsonAlAire.php",
        function(data){
            $.each(data.userdata, function(i,user){
                var tblRow =
                    "<tr>"
                    +"<td>"+user.tituloDelShow+"</td>"
                    +"<td>"+user.locutores+"</td>"
                    +"</tr>"
                $(tblRow).appendTo("#userdata tbody");
            });
        }
    );
});
</script>

2 个答案:

答案 0 :(得分:1)

我认为问题是同一个原产地安全政策。 我的观点是,唯一的解决方案是在您自己的服务器上使用PHP脚本,充当您的ajax和远程服务器之间的网关。如何编写代码取决于与服务器配置相关的一些因素。 一个非常简单的解决方案(如果您的服务器支持allow_url_fopen)可以是:

getServerData.php

<?php
 echo   file_get_contents('http://www.rockfm.mx/jsonApps/jsonAlAire.php');
?>

然后,使用您的脚本调用getServeData.php。通过这个小技巧,你将绕过同源限制。

希望有所帮助

答案 1 :(得分:0)

您忘记了http://

<script>
$(document).ready(function(){
});
$("#loaduserdata").click(function(){
    $("#userdata tbody").html("");
    $.getJSON(
        "http://www.rockfm.mx/jsonApps/jsonAlAire.php",
        function(data){
            $.each(data.userdata, function(i,user){
                var tblRow =
                    "<tr>"
                    +"<td>"+user.tituloDelShow+"</td>"
                    +"<td>"+user.locutores+"</td>"
                    +"</tr>"
                $(tblRow).appendTo("#userdata tbody");
            });
        }
    );
});
</script>