• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

getJSON跨域SyntaxError问题分析_PHP

php 搞代码 4年前 (2022-01-25) 11次浏览 已收录 0个评论

JSON

昨天写一个功能:点击手机验证的同时获取json端的数据。

javascript代码如下:

$(".check_mobile").click(function(){var mobile = $('.mobile').val();$.getJSON("http://www.test.com/user.php?mobile="+mobile+"&format=json&jsoncallback=?", function(data){if (data.succ == 1) {var html = "";$(".r_m").append(ht<em style="color:transparent">本文来源[email protected]搞@^&代*@码)网9</em><strong>搞代gaodaima码</strong>ml);}});});

user.php代码如下:

'石家庄','cityid' =>'1','community' =>'紫晶悦城','communityid'=>'1');$sucess = 1;$return = array('succ' =>$sucess,'data' => $user);}else {$sucess = 2;$return = array('succ' =>$sucess);}echo json_encode($return);}?>

相应如下:

问题出来了:

在火狐浏览器中: SyntaxError: missing ; before statement

解决方法如下:

header("Access-Control-Allow-Origin:http:www.test.com");$b = json_encode($return);echo "{$_GET['jsoncallback']}({$b})";exit;

最后完整代码:

'石家庄','cityid' =>'1','community' =>'紫晶悦城','communityid'=>'1');$sucess = 1;$return = array('succ' =>$sucess,'data' => $user);}else {$sucess = 2;$return = array('succ' =>$sucess);}$b = json_encode($return);echo "{$_GET['jsoncallback']}({$b})";exit;}?>

如果在 PHP 中少了 header(“Access-Control-Allow-Origin:http:www.test.com”); 代码,则会出现

XMLHttpRequest cannot load ”. No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘ ‘ is therefore not allowed access.
如果少了 echo “{$_GET[‘jsoncallback’]}({$b})”; 代码

在谷歌浏览器中:Uncaught SyntaxError: Unexpected token :
在火狐浏览器中:SyntaxError: missing ; before statement


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:getJSON跨域SyntaxError问题分析_PHP

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址