在使用jquery ajax的jsonp(json with padding) 执行跨域请求时,例如我要获取服务器的时间,那么我在服务器新建一个time.php代码如下:
<?php
date_default_timezone_set('Asia/Shanghai');
echo('callbackhandle('.date('Y-m-d H:i:s',time()).')');
?>JS端请求如下:
$.ajax({
url:'http://www.mshi.site/time.php',
type:'GET',
success:function(msg){
alert(msg);
},
data:{},
dataType:'jsonp',
jsonpCallback:'callbackhandle'
});发现执行之后 firebug提示:
missing ) after argument list
然后我上网搜索了一下,找到了类似的说法给了我灵感:是的,缺少括号!
<?php
date_default_timezone_set('Asia/Shanghai');
echo('callbackhandle(\''.date('Y-m-d H:i:s',time()).'\')');
?>修改测试OK!

本文介绍了一个关于使用jQuery AJAX进行JSONP跨域请求时遇到的问题及解决方案。通过一个获取服务器时间的具体例子,详细说明了如何正确设置服务器端响应以避免语法错误,并确保客户端能够正确解析。
1632

被折叠的 条评论
为什么被折叠?



