开发笔记|PHP+AJAX前后端交互调试的关键注意事项

news/2025/11/7 15:54:43/文章来源:https://www.cnblogs.com/henbio/p/19199950

由于ajax调试起来非常麻烦,所以我们应该把前后端分开测试,代码如下:

后端代码:(comentbyajax.php

<?php
require_once './dbcon.php';
set_time_limit(0);
//echo json_encode(array('content'=>'aaaaaa'));exit; ①
$rec = $_COOKIE['username'];
$sql = "select * from msg where rec='$rec' and isread=0 limit 1";//防止取到多条数据没能及时显示
//echo json_encode(array('content'=>$sql));exit;②
while (true){$rs = mysql_query($sql, $conn);    $row = mysql_fetch_assoc($rs, $conn);    //注意:此处特意写错,正确的为mysql_fetch_assoc($rs)③if(!empty($row)){echo json_encode($row);break;}sleep(1);
}
?>

 

前端代码:(custom.php

 

<?php
if(empty($_COOKIE['username']))
setcookie('username', 'user'.rand(10000,99999));
?><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>在线用户端</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script type='text/javascript'>
$(function(){//长轮询(注:该函数在页面加载完成后自动执行)var setting = {url:'comentbyajax.php',dataType:'json',type:'post',success:function(res){④var cont = '<p>客服对你说:<br/>'+res.content+'</p><br/>';$('#msgzone').append(cont);}};$.ajax(setting);
});function xunwen(){var cont = $('textarea:first').val();$.post('sendmsg.php',{rec:'admin',content:cont},function(res){if(res == 'ok'){var wen = '<p>你对客服说:<br/>'+cont+'</p>';$('#msgzone').append(wen);}});
}
</script>
<style type="text/css">
#msgzone{border: 1px solid gray;width:400px;height:200px;overflow:scroll;
}
</style>
</head>
<body><h2>coment反向ajax技术---在线客服系统---之用户端</h2><h3>原理:ajax+长连接+轮询(长轮询),获取实时内容,并更新到父页面</h3><div id='msgzone'></div><!-- 聊天信息区域 --><textarea></textarea><input type='button' value='咨问' onclick='xunwen();'/>
</body>
</html>

 

问题描述:执行custom.php文件时出现comentbyajax.php不能正确返回信息给custom.php

排查此时排查的过程我们要分步骤查找(即分别在comentbyajax.phpcustom.php查找)

comentbyajax.php文件中添加echo json_encode(array('content'=>'aaaaaa'));exit;调试语句保存(如①处所示),然后执行custom.php文件,看④是否能正确输出信息,如果能则表明custom.php写法正确,接下来重点排查comentbyajax.php,怀疑是否在拼接sql字符串中出错,然后再添加echo json_encode(array('content'=>$sql));exit;调试语句保存(如②处所示),然后拷贝④处得到的信息并粘贴到mysql命令窗口执行,如图所示:

图片1

发现语句正确执行并返回信息,干脆狠下心来单独执行comentbyajax.php文件,所以将代码修改为:

 

<?php
require_once './dbcon.php';
set_time_limit(0);//echo json_encode(array('content'=>'aaaaaa'));exit;

$rec = $_COOKIE['username'];
$sql = "select * from msg where rec='$rec' and isread=0 limit 1";//防止取到多条数据没能及时显示
//echo json_encode(array('content'=>$sql));exit;
//while (true){$rs = mysql_query($sql, $conn);    $row = mysql_fetch_assoc($rs, $conn);    if(!empty($row)){echo json_encode($row);//break;
    }sleep(1);
//}
?>

 

再去执行它,发现输出错误信息:

图片2

此时很明显mysql_fetch_assoc()写错了。

解决:由于comentbyajax.php文件中的处错将mysql_fetch_assoc($rs)写成了mysql_fetch_assoc($rs, $conn),该语句造成了php执行时出错的同时也没有返回任何信息给

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/958919.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jenkins使用github的项目(springboot)进行构建配置例子

1.将springboot项目上传到github 如何上传参考如下连接 https://www.cnblogs.com/hxlasky/p/19199599 建议在项目的resources目录下创建一个Jenkinsfile文件,方便管理,后面采用pipeline构建时候选择"Pipeline s…

28335中断ID

https://blog.csdn.net/DraemSky/article/details/107016407

2025年耐用的高精度内圆磨床订制厂家权威推荐榜单:比较好的高精度内圆磨床/好的高精度内圆磨床/靠谱的高精度内圆磨床源头厂家精选

在高端制造业持续升级的背景下,高精度内圆磨床作为精密加工的核心装备,其性能稳定性与定制化服务能力直接影响精密零部件的加工质量。行业数据显示,2024年中国高精度磨床市场规模增长率达12%,其中数控内圆磨床在精…

工业主板VS商用主板:五大核心差异,选对才能高效运行

在工业自动化、智能制造、物联网等领域,工业主板作为核心控制单元,承担着数据处理、设备联动、指令传输等关键任务,其稳定性、可靠性和适应性直接决定了整个工业系统的运行效率。与我们日常电脑中使用的商用主板不同…

完整教程:Hadoop面试题及详细答案 110题 (71-85)-- 集群部署与运维

完整教程:Hadoop面试题及详细答案 110题 (71-85)-- 集群部署与运维pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &q…

Codeforces Global Round 30 (div.1 + div.2) A~E 题解

A 题面 给定一个长为 \(n\) 的数组 \(a\) 和一个整数 \(x\),每次操作可以将 \(a\) 中相邻两个数替换为他们之间的某个数,问最后有没有可能剩下的数大小为 \(x\)。 \( 1 \le n \le 100 \\ -10^9 \le a_i \le 10^9 \\ …

2025 年最新推荐!国内胶粘剂源头厂家优质品牌排行榜:聚焦实力厂商,助力企业精准选品水性胶粘剂 / 电子胶粘剂 / 注塑胶粘剂公司推荐

引言 当前新材料产业高速发展,胶粘剂作为工业生产关键配套材料,其质量、性能与供应稳定性,直接决定下游 3C 电子、新能源汽车、医疗器械等行业的生产效率与产品品质。但市场上胶粘剂源头厂家数量繁杂,部分厂商存在…

工业互联网高级计划排程(APS):智能制造时代的生产协同核心引擎

在当今高度复杂且动态变化的制造业环境中,企业对生产效率和资源优化能力的要求不断提升。传统的生产计划方式主要依赖经验判断或基于无限产能假定的物料需求计划(MRP)系统,逐渐难以应对多品种、小批量、短交期的市…

Ubuntu VNC传输文件

发送文件 选择 第五个“口口” 文件夹是桌面 FETCH FILEs TO : 设置接收文件的路径

【IEEE出版|往届均已完成EI检索】第四届地理信息与遥感技术国际学术会议(GIRST 2025)

第四届地理信息与遥感技术国际学术会议(GIRST 2025)将于2025年11月27日至29日在意大利罗马召开,将同步开设线上会场。本次会议旨在汇聚地理信息和遥感领域的专家、研究人员和从业者,交流知识并讨论最新进展。随着技…

Studio 3T 2025.19 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端

Studio 3T 2025.19 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端Studio 3T 2025.19 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端 The Ultimate GUI, IDE and client for MongoDB 请…

vue3+ts 简单封装axios:实现错误重试、重复请求取消、手动取消

注意:需要安装crypto-js库在utils\request.ts中: import axios from "axios"; import type { InternalAxiosRequestConfig, AxiosResponse, AxiosInstance } from "axios"; import { useRequery…

2025 年压敏胶源头厂家最新推荐榜单:覆盖多类型产品且经协会测评的权威甄选指南耐高温压敏胶/环保压敏胶/水性压敏胶/医用压敏胶公司推荐

引言 压敏胶作为工业生产关键粘接材料,广泛应用于厨具家电、汽车制造、医疗器材、电子电气等行业。随着市场需求增长,源头厂家数量激增,部分厂家存在生产规模小、技术水平低等问题,导致产品质量不稳定,难以满足企…

window.open()与session

//window.open()打开的新页签会继承父页签的session,在新页签中通过sessionStorage.clear()清除session会同时清除父页签的session //解决方法 // 创建一个具有独立 sessionStorage 的新窗口window.open(url, _blank,…

2025年安全网与遮阳网厂家综合实力Top5

1、诚瑞信 作为行业领军企业,诚瑞信凭借20余年的专业生产经验,在安全网和遮阳网领域展现出卓越的综合实力。公司拥有10000平方米的现代化生产基地,配备30台先进生产设备,年产值达千万级别。产品线涵盖建筑用密目式…

2025年热门的安全检测检验公司榜单

摘要 安全检测检验行业在2025年持续增长,随着矿山安全法规的加强和数字化转型,企业对于可靠检测服务的需求日益提升。本文基于行业数据和用户反馈,整理了市面上前十名安全检测检验公司排名,为矿山企业提供参考。表…

2025年安全检测检验公司排行榜:前十名权威推荐与行业洞察

摘要 安全检测检验行业在2025年持续快速发展,随着矿山安全法规的加强和数字化转型,企业对专业检测服务的需求日益增长。本文基于市场调研和权威数据,整理了市面上安全检测检验公司的排名前十榜单,旨在为矿山企业提…

2025年有实力的安全检测检验公司热门排行前十强榜单

摘要 随着矿山安全意识的提升,安全检测检验行业在2025年迎来快速发展,行业内公司竞争激烈。本文基于行业数据和用户评价,整理了市面上有实力的安全检测检验公司排名前十,旨在为矿山企业提供参考。排名综合考虑了技…

2025年11月四川护栏厂家排名榜:五家实力对比与选购指南

如果您正在四川寻找可长期合作的护栏厂家,大概率正面临“项目工期紧、规格多、预算有限”的三重压力。市政道路升级、河道整治、楼盘阳台交付节点往往集中在年底,一旦供货延迟,牵一发动全身。过去两年,四川住建部门…

2025年11月四川护栏厂家推荐榜:五强产能对比与口碑评价全解析

年底临近,四川各地市政、房建、交安项目进入集中收尾阶段,护栏作为道路、河道、阳台、桥梁的“安全最后一道防线”,采购量陡增。很多工程负责人、开发商、总包单位在同时面对“工期紧、价差大、标准多”的三重压力:…