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

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

php 搞代码 4年前 (2022-01-23) 27次浏览 已收录 0个评论
文章目录[隐藏]

客户端关键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(“Validate·本2文来源gaodai$ma#com搞$代*码网2搞gaodaima代码2.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应该去掉….去掉后就好了..


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

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

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

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

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