jsonp回调无法正常工作 - 包含代码

时间:2011-10-06 16:38:44

标签: 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 个答案:

答案 0 :(得分:0)

您需要在调用加载响应的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>