php中ajax请求无法获得返回值以及页面头部出现回车空格解决方案

本文详细阐述了PHP AJAX请求失败及页面头部回车空问题的解决方法,包括处理JSON数据和UTF-8编码设置,旨在帮助开发者解决实际项目中的常见技术难题。

一、php中ajax请求无法获得返回值

最近遇到一个棘手的问题,就是在一个php页面上进行ajax提交时,success方法没执行,拿不到返回值。

页面中代码如下:

$.ajax({
    async : false,
    type : 'post',
    dataType : 'json',
    url : '/ajax.php',
    data : {
     'path' : path,
     's_username':$("#s_yhmc").val(),
     'myid':'<?=$myUser['id'] ?>',
     'pno' : pno,
     'index':index
    },
    success : function(data) {

     *********************

}

ajax.php中的代码:

$path=$_POST['path'];
   $myid=$_POST['myid'];
   $pno=$_POST['pno'];
   $index=$_POST['index'];

$sql='******************************';

$query = $_SGLOBAL['db']->query($sql);
  while ($value = $_SGLOBAL['db']->fetch_array($query)) { 
   $list[] = $value;
  }
   echo json_encode($list);

以上代码在本地测试,ie8 firefox都没有问题;但是将代码上传至服务器时,success方法不执行 没有返回值

处理方法:将json改为text,在success中处理data(var data1=eval('(' + data + ')');)

产生这个问题的原因:可能是json_encode方法在不同版本的PHP里的有可能不支持,在处理json数据时出问题了。

处理方法里的意思就是返回的是字符串,在js里处理成json数据类型,然后再操作。

 

二 页面头部出现回车空格解决方案

问题描述:在本地访问页面没有这个问题,但是在服务器上访问时,在页面的顶部出现回车空格,用firefox查看代码,发现<head></head>标签里的内容出现在<body></body>里。

问题分析:经过网上类似问题的查找,发现原因-----页面文件的格式问题  utf-8 BOM 和NO-BOM区别

解决方法:将文件格式设置为utf-8 NO-BOM,可以使用ultraedit编辑器另存为完成。

 

以上2个问题本人是第一次遇到,也感觉到莫名其妙,花了10多个小时才解决,因为牵扯到项目里的用户模块,问题比较棘手,希望对大家有帮助!

学无止尽,诶!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值