跳转到主内容
极星编程网:以代码为星,赴技术山海!

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

客户端关键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应该去掉....去掉后就好了..

相关文章