обратный вызов jsonp не работает — включен код

#php #json #jsonp

#php #json #jsonp

Вопрос:

здесь я изучаю jsonp, и у меня есть небольшие проблемы с простым кодом, то, что я пытаюсь сделать, это простой обратный вызов jsonp, но, похоже, он не работает

вот код:

[index.php ]

 <html>
    <head>
        <script type="text/javascript" id="myJSONPCall" src="http://mySubDomain.comoj.com/jsoncall.php?jsonCallback=myCallback"></script>
        <script type="text/javascript">
            function myCallback(obj) {
                alert(obj.text);
            }
        </script>
    </head>

    <body>
    </body>
</html>
  

[jsoncall.php ]

 <?php   
    $myObject = array(
        "text" => "Hello, I am data from the remote server.",
        "created_at" => "Thu May 07 21:36:12  0000 2009"
    );

    $myJSONObject  = json_encode($myObject);

    $myJSONCallback = filter_var($_REQUEST['jsonCallback'], FILTER_SANITIZE_STRING);

    print "$myJSONCallback($myJSONObject)"
?>
  

сразу ничего не происходит.
что именно здесь пошло не так?

Комментарии:

1. Вы получаете какие-либо ошибки консоли? Как выглядит ответ JSON?

Ответ №1:

Вам необходимо определить свою функцию перед вызовом URL, который загружает ответ, просто измените порядок ваших скриптов.

 <html>
    <head>
         <script type="text/javascript">
            function myCallback(obj) {
                alert(obj.text);
            }
        </script>
        <script type="text/javascript" id="myJSONPCall" src="http://mySubDomain.comoj.com/jsoncall.php?jsonCallback=myCallback"></script>

    </head>

    <body>
    </body>
</html>