json真难搞,经常这里错哪里错,还找不到原因。今天调试下面的代码,通过jsonp获取其它服务器中的数据,谷歌总是提示下面的错误:
Resource interpreted as Script but transferred with MIME type text/json: "http://127.0.0.1:81/jsonp.php?callback=jQuery16206906629570294172_1365317138501&_=1365317138505". jquery-1.6.2.js:7752
Uncaught SyntaxError: Unexpected token : jsonp.php:1IE浏览器提示:
行:2
Char:8
错误:缺少';'
代码:0
URL:http://localhost/ajax/jqueryajax.html代码如下:
http://localhost/ajax/jqueryajax.html文件源码:
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
</head>
</body>
<script type="text/javascript" src="js/jquery-1.6.2.js"></script>
<script type="text/javascript">
$(function(){
$.getJSON("http://127.0.0.1:81/jsonp.php?callback=?",function(data){
alert(data.name + data.age);
});
});
</script>
</body>
</html>http://127.0.0.1:81/jsonp.php文件源码:
<?php
header("content-type:text/json;charset=utf-8");
header("Cache-Control: no-cache, must-revalidate");
$username='{"name":"老邹","age":1984}';
echo $username;
?>我在我电脑里运行了两个php环境,两个程序分别放在不同的环境中,他们的端口号不一样。
请大家帮看看哪里错了,我就是找不到哪里错了。
Resource interpreted as Script but transferred with MIME type text/json: "http://127.0.0.1:81/jsonp.php?callback=jQuery16206906629570294172_1365317138501&_=1365317138505". jquery-1.6.2.js:7752
Uncaught SyntaxError: Unexpected token : jsonp.php:1IE浏览器提示:
行:2
Char:8
错误:缺少';'
代码:0
URL:http://localhost/ajax/jqueryajax.html代码如下:
http://localhost/ajax/jqueryajax.html文件源码:
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
</head>
</body>
<script type="text/javascript" src="js/jquery-1.6.2.js"></script>
<script type="text/javascript">
$(function(){
$.getJSON("http://127.0.0.1:81/jsonp.php?callback=?",function(data){
alert(data.name + data.age);
});
});
</script>
</body>
</html>http://127.0.0.1:81/jsonp.php文件源码:
<?php
header("content-type:text/json;charset=utf-8");
header("Cache-Control: no-cache, must-revalidate");
$username='{"name":"老邹","age":1984}';
echo $username;
?>我在我电脑里运行了两个php环境,两个程序分别放在不同的环境中,他们的端口号不一样。
请大家帮看看哪里错了,我就是找不到哪里错了。
解决方案 »
- php 如何显示所属类别
- 急!怎么在页面上添加在线支付功能
- 请问为什么PHP没有mkdir()等方法的执行权限?
- PHP如何函数内赋值 函数外使用 不用return ,session返回
- no database selected??
- dz的,要实现完全的rewrite,修改.htaccess文件,代码是什么
- 请问我用mysql数据库建表错在哪啊?
- 文件上传问题??急救呀
- PHP初学!!PHP怎么实现像ASP中server.mappath那样的取得网页的绝对地址功能啊??
- 心情不好,问题解决不了,散分,来着有分,:( :( )
- 关于页面pv统计的问题
- php数组foreach出来如何控制里面的顺序?
callack_12324343({'hello':'world'});
因此你上面的echo $username;改成echo "{$_GET['callback']}({$username});";才算符合JSONP的要求
http://xxxxxx.com?jsonp=?&id=1&password=1
jsonp=?就是传递过去的编号,
在服务器用GET接受jsonp
比如 $json = $_GET('jsonp');
你打印内容返回给前台的时候要注意格式
jsonp的编号打头
echo "$json($b)";
$b是你的json格式内容
这样就能接受到了!