JavaScript - JSON не отображается

0

Это мой первый опыт работы с JSON, и мне нужно показать этот JSON http://www.rockfm.mx/jsonApps/jsonAlAire.php на веб-странице, которая не находится на том же сервере, что и 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>
  • 0
    Какие ошибки вы получаете?
  • 1
    Вы пытались с правильным URL - один с http (s): // впереди?
Показать ещё 3 комментария
Теги:
jsonp

2 ответа

1

Я думаю, что проблема - это одна и та же политика безопасности происхождения. Мое мнение таково, что единственным решением является использование php-скрипта на вашем собственном сервере, который выступает в качестве шлюза между вашим ajax и удаленным сервером. Как писать код зависит от некоторых факторов, связанных с конфигурацией вашего сервера. Очень простое решение (если ваша поддержка сервера allow_url_fopen) может выглядеть примерно так:

getServerData.php

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

Затем вызовите getServeData.php со своим скриптом. С помощью этого небольшого трюка вы обойдете ограничение одного и того же происхождения.

надеюсь, что это поможет

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>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню