这里我正在学习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 :(得分: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>