Обратный вызов jsonp не работает - код включен - PullRequest
0 голосов
/ 06 октября 2011

здесь я изучаю 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 Ответ

0 голосов
/ 06 октября 2011

Вам нужно определить свою функцию перед вызовом 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>
...