jQuery+PHP做的C/S型网页,服务端不回应

php中文网
发布: 2016-06-23 13:28:45
原创
1094人浏览过

客户端关键jQuery代码
$('#submit').click(function(e){
var username=$('#name').val();
     var pwd=$('#pwd').val();
     var message=$('#message').val();
   $.post("Validate2.php",
{username:username,pwd:pwd,message:message},
function(response){
alert("response.status="+response.status); //输出返回状态对话框
},
"json"
   );
e.preventDefault();
   });

服务端关键php代码

$query="insert into Messages values(12345,\"what\",\"1222\")";
$result=$mysqli->query($query); 

$response['status']="TRUE";
echo json_encode($response);
$result->free();
$mysqli->close();
exit();

运行完之后数据库确实加上新的数据了,
但那个$response['status']=TRUE死活返回不到客户端,


回复讨论(解决方案)

看看有没有 BOM 头

没懂==BOM头跟这个啥关系...我刚搞php3天

这个问题我以前碰到过,不是没有返回给客户端,而是客户端只是收到了一串字符,而没有把那一串json字符转化为json对象,在客户端先使用eval(response)把json对象制造出来,才能调用其response.status属性。

这个问题我以前碰到过,不是没有返回给客户端,而是客户端只是收到了一串字符,而没有把那一串json字符转化为json对象,在客户端先使用eval(response)把json对象制造出来,才能调用其response.status属性。

这个问题我以前碰到过,不是没有返回给客户端,而是客户端只是收到了一串字符,而没有把那一串json字符转化为json对象,在客户端先使用eval(response)把json对象制造出来,才能调用其response.status属性。



可是是这样,如果我把服务端$query="insert into Messages values(12345,\"what\",\"1222\")";
改成对数据库的查询,如“select * from Messages”就能收到TRUE
或者我把TRUE那行向上移到mysqli-〉query()之前就收得到啊


这个问题我以前碰到过,不是没有返回给客户端,而是客户端只是收到了一串字符,而没有把那一串json字符转化为json对象,在客户端先使用eval(response)把json对象制造出来,才能调用其response.status属性。



可是是这样,如果我把服务端$query="insert into Messages values(12345,\"what\",\"1222\")";
改成对数据库的查询,如“select * from Messages”就能收到TRUE
或者我把TRUE那行向上移到mysqli-〉query()之前就收得到啊 怪哉。。。。。没见过的现象

把服务器返回的东西打印出来看看,先不要解释json
把json参数去掉。
var username=$('#name').val();
     var pwd=$('#pwd').val();
     var message=$('#message').val();
   $.post("Validate2.php",
{username:username,pwd:pwd,message:message},
function(response){
alert("response.status="+response.status); //输出返回状态对话框
},
" json"
   );
e.preventDefault();
   });


然后在php端,使用file_put_contents('sos.txt', json_encode($_REQUEST), true);

运行后,看看sos.txt有什么,正确应该是你提交的参数。

已搞定....为了以后有人搜同样问题我解释下....
楼主小白,以后在调试的时候应该在php第一行加上
ini_set("display_errors", "on"); //输出错误信息

再测试发现
Fatal error: Call to a member function free() on a non-object in /var/www/html/Validate2.php on line 60
就是说返回的是1,0我那个free应该去掉....去掉后就好了..

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号