Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript-JSON不显示_Javascript_Jquery_Jsonp - Fatal编程技术网

JavaScript-JSON不显示

JavaScript-JSON不显示,javascript,jquery,jsonp,Javascript,Jquery,Jsonp,这是我第一次使用JSON,我需要在与JSON不在同一服务器上的网页上显示此JSON,我知道我必须使用JSONP,但我的代码根本不起作用,这是一个示例 <script> $(document).ready(function(){ }); $("#loaduserdata").click(function(){ $("#userdata tbody").html(""); $.getJSON( "www.rockfm.mx/jsonApps/jsonAlA

这是我第一次使用JSON,我需要在与JSON不在同一服务器上的网页上显示此JSON,我知道我必须使用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>

$(文档).ready(函数(){
});
$(“#loaduserdata”)。单击(函数(){
$(“#userdata tbody”).html(“”);
$.getJSON(
“www.rockfm.mx/jsonApps/jsonAlAire.php”,
功能(数据){
$.each(data.userdata,函数(i,用户){
var tblRow=
""
+“”+user.tituloDelShow+“”
+“”+user.locatores+“”
+""
$(tblRow).appendTo(“#userdata tbody”);
});
}
);
});

您忘记了
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>

$(文档).ready(函数(){
});
$(“#loaduserdata”)。单击(函数(){
$(“#userdata tbody”).html(“”);
$.getJSON(
"http://www.rockfm.mx/jsonApps/jsonAlAire.php",
功能(数据){
$.each(data.userdata,函数(i,用户){
var tblRow=
""
+“”+user.tituloDelShow+“”
+“”+user.locatores+“”
+""
$(tblRow).appendTo(“#userdata tbody”);
});
}
);
});

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

getServerData.php

<?php
 echo   file_get_contents('http://www.rockfm.mx/jsonApps/jsonAlAire.php');
?>
getServerData.php
然后,使用脚本调用getServeData.php。使用这个小技巧,您将绕过同一来源限制


希望能有所帮助

您遇到了哪些错误?您是否尝试过使用正确的URL-前面有http(s)://的URL?“我知道我必须使用jsonp”该服务似乎不支持jsonp(或CORS),除非它们使用不同的URL参数。你应该阅读它的文档。如果它不支持JSONP,您就不能对它进行Ajax调用。^^^^我遇到了相同的源代码错误,没有访问控制允许源代码头,而且JSONP似乎不受支持。您可能需要在自己的服务器上用php编写一个脚本,使用类似于cURL的东西来获取json并对其进行Ajax调用。