php如何处理ajax提交的表单?
使用jQuery的ajax模块发送数据到php页面中,
php页面使用$_POST['']接收数据,
返回的时候使用 echo json_encode($respond);
可是在ajax的success函数里打印返回的json数据不正常。
而且跳转也不正常,ajax是不会跳转页面的对吧,返回结果后,页面跳转一次到该页面(刷新)。
我是不是哪个环节出错了?
在线等。
jQuery:
$(function(){
//登陆
$("#button_signip").click(function(){
});
//注册
$("#button_signup").click(function(){
console.log($("#logup_inputUser").value);
$.ajax({
type: 'post',
ulr: '../service/logupBusiness.php',
async: false,
data: $("#form_signup").serialize(),
beforeSend: function () {
},
complete: function () {
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus);
},
success: function (data, textStatus) {
console.log(data);//返回的结果不正常,并不是json
console.log(textStatus);
alert(data);
}
});
});
});
php业务逻辑(logupBusiness.php):
register(array("username"=>$name, "password"=>$password, "email"=>$email));
$res = $bmobUser->login($name,$password);
echo json_encode($res);//返回结果,son
}catch (Exception $e){
echo $e;
}
回复内容:
自己做了一个项目,
使用jQuery的ajax模块发送数据到php页面中,
php页面使用$_POST['']接收数据,
返回的时候使用 echo json_encode($respond);
可是在ajax的success函数里打印返回的json数据不正常。
而且跳转也不正常,ajax是不会跳转页面的对吧,返回结果后,页面跳转一次到该页面(刷新)。
我是不是哪个环节出错了?
在线等。
jQuery:
$(function(){
//登陆
$("#button_signip").click(function(){
});
//注册
$("#button_signup").click(function(){
console.log($("#logup_inputUser").value);
$.ajax({
type: 'post',
ulr: '../service/logupBusiness.php',
async: false,
data: $("#form_signup").serialize(),
beforeSend: function () {
},
complete: function () {
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus);
},
success: function (data, textStatus) {
console.log(data);//返回的结果不正常,并不是json
console.log(textStatus);
alert(data);
}
});
});
});
php业务逻辑(logupBusiness.php):
register(array("username"=>$name, "password"=>$password, "email"=>$email));
$res = $bmobUser->login($name,$password);
echo json_encode($res);//返回结果,son
}catch (Exception $e){
echo $e;
}
提供你的
success
函数.提供你后端在使用
echo json_encode($respond);
的结果.
根据你更新后的内容继续追问:
提供 ID 为
button_signup
的这个DOM节点的HTML代码.提供 在请求
logupBusiness.php
这个PHP文件时, 后端输出的内容, 而不是提供你的这的这个PHP的源代码.
不过以你目前的代码, 猜测你的那个 button_signup
对应的可能是一个 type=submit
类型的按钮, 然后在点了之后, 提交了表单, 然后跳走了..
那必然是某个环节出了问题,不过从你提供的信息看不出哪里有问题。你可以注意一下json_encode结果是否正常,js里是否还有其他方法处理了结果。
$.ajax
success:function(callback){alert(callback)},
php:
echo json_encode($str,JSON_FORCE_OBJECT);
不贴代码出来大家都帮不了你呢,如果比较隐私,可以贴个demo模拟代码也行,大家好帮你分析下哪里有错。
楼主最好把代码贴出来