2011-10-06 59 views
0

我在这里学习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)" 
?> 

马上就没有任何事情发生。 这里究竟出了什么问题?

+0

您是否收到任何控制台错误? JSON的回应是什么样的? –

回答

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> 
+0

这是工作,谢谢。 –

+0

欢迎您。请接受答案。 –