ajax调用返回php接口返回json数据的方法(必看篇)


Posted in PHP onMay 05, 2017

php代码如下:

<?php

  header('Content-Type: application/json');
  header('Content-Type: text/html;charset=utf-8');

  $email = $_GET['email'];

  $user = [];

  $conn = @mysql_connect("localhost","Test","123456") or die("Failed in connecting database");
  mysql_select_db("Test",$conn);
  mysql_query("set names 'UTF-8'");
  $query = "select * from UserInformation where email = '".$email."'";
  $result = mysql_query($query);
  if (null == ($row = mysql_fetch_array($result))) {
    echo $_GET['callback']."(no such user)";
  } else {
    $user['email'] = $email;
    $user['nickname'] = $row['nickname'];
    $user['portrait'] = $row['portrait'];
    echo $_GET['callback']."(".json_encode($user).")";
  }

?>

js代码如下:

<script>
    $.ajax({
      url: "http://test.localhost/UserInterfaceForChatroom/UserInformation.php?email=pshuyue@gmail.com",
      type: "GET",
      dataType: 'jsonp',
      //      crossDomain: true,
      success: function (result) {
        //        data = $.parseJSON(result);
        //        alert(data.nickname);
        alert(result.nickname);
      }
    });
  </script>

其中遇到了两个问题:

1、第一个问题:

Uncaught SyntaxError: Unexpected token :

解决方案如下:

This has just happened to me, and the reason was none of the reasons above. I was using the jQuery command getJSON and adding callback=? to use JSONP (as I needed to go cross-domain), and returning the JSON code {"foo":"bar"} and getting the error.

This is because I should have included the callback data, something like jQuery17209314005577471107_1335958194322({"foo":"bar"})

Here is the PHP code I used to achieve this, which degrades if JSON (without a callback) is used:

$ret['foo'] = "bar";
finish();

function finish() {
  header("content-type:application/json");
  if ($_GET['callback']) {
    print $_GET['callback']."(";
  }
  print json_encode($GLOBALS['ret']);
  if ($_GET['callback']) {
    print ")";
  }
  exit; 
}

Hopefully that will help someone in the future.

2、第二个问题:

解析json数据。从上面的javascript中可以看到,我没有使用jquery.parseJSON()这些方法,开始使用这些方法,但是总是会报

VM219:1 Uncaught SyntaxError: Unexpected token o in JSON at position 1的错误,后来不用jquery.parseJSON()这个方法,反而一切正常。不知为何。

以上这篇ajax调用返回php接口返回json数据的方法(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php去除字符串换行符示例分享
Feb 13 PHP
php读取excel文件示例分享(更新修改excel)
Feb 27 PHP
mantis安装、配置和使用中的问题小结
Jul 14 PHP
php集成环境xampp中apache无法启动问题解决方案
Nov 18 PHP
php树型类实例
Dec 05 PHP
php中socket通信机制实例详解
Jan 03 PHP
php数据访问之查询关键字
May 09 PHP
PHP使用curl制作简易百度搜索
Nov 03 PHP
浅谈PHP的反射API
Feb 26 PHP
CakePHP框架Model关联对象用法分析
Aug 04 PHP
PHP使用Redis长连接的方法详解
Feb 12 PHP
php回调函数处理数组操作示例
Apr 13 PHP
ThinkPHP 3.2.2实现事务操作的方法
May 05 #PHP
PHP实现Session入库/存入redis的方法
May 04 #PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
May 04 #PHP
PHP+jQuery实现滚屏无刷新动态加载数据功能详解
May 04 #PHP
PHP调用Mailgun发送邮件的方法
May 04 #PHP
PHP实现图片的等比缩放和Logo水印功能示例
May 04 #PHP
Yii2数据库操作常用方法小结
May 04 #PHP
You might like
php画图实例
2014/11/05 PHP
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
2017/03/13 PHP
Yii框架函数简单用法分析
2019/09/09 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
textContent在Firefox下与innerText等效的属性
2007/05/12 Javascript
jQuery实现统计复选框选中数量
2014/11/24 Javascript
jQuery中data()方法用法实例
2014/12/27 Javascript
理解javascript中的with关键字
2016/02/15 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
必备的JS调试技巧汇总
2016/07/20 Javascript
JS中常用的正则表达式
2016/09/29 Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
2017/03/04 Javascript
jQuery菜单实例(全选,反选,取消)
2017/08/28 jQuery
解决Vue中 父子传值 数据丢失问题
2019/08/27 Javascript
在vue-cli3中使用axios获取本地json操作
2020/07/30 Javascript
Python GAE、Django导出Excel的方法
2008/11/24 Python
详解Python的Django框架中inclusion_tag的使用
2015/07/21 Python
python基于phantomjs实现导入图片
2016/05/13 Python
Python3.6安装及引入Requests库的实现方法
2018/01/24 Python
Python基于递归实现电话号码映射功能示例
2018/04/13 Python
Python快速查找list中相同部分的方法
2018/06/27 Python
ubuntu16.04制作vim和python3的开发环境
2018/09/23 Python
python实现输入任意一个大写字母生成金字塔的示例
2019/10/27 Python
keras CNN卷积核可视化,热度图教程
2020/06/22 Python
爬虫代理的cookie如何生成运行
2020/09/22 Python
html特殊符号示例 html特殊字符编码对照表
2014/01/14 HTML / CSS
护理专业毕业生自荐信范文
2014/01/05 职场文书
简历中的自我评价范文
2014/02/05 职场文书
地质灾害防治方案
2014/05/14 职场文书
我的未来不是梦演讲稿
2014/09/02 职场文书
教师党员自我剖析材料
2014/09/29 职场文书
优秀教师先进事迹材料
2014/12/15 职场文书
逃课检讨书怎么写
2015/01/01 职场文书
2015年度护士个人工作总结
2015/04/09 职场文书
2015年大学生工作总结
2015/04/21 职场文书
Python 类,对象,数据分类,函数参数传递详解
2021/09/25 Python