自己做了一个项目,
使用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):
<?php
/**
* Created by PhpStorm.
* User: alpha
* Date: 15/10/31
* Time: 00:57
* Description: 注册业务逻辑
*/
require '../bmob.lib.php';
$name = $_POST['name'];
$email = $_POST['email'];
$password = $_POST['password'];
$confirmPassword = $_POST['confirmPassword'];
//主要业务逻辑
try{
$bmobUser = new BmobUser();
$res = $bmobUser->register(array("username"=>$name, "password"=>$password, "email"=>$email));
$res = $bmobUser->login($name,$password);
echo json_encode($res);//返回结果,son
}catch (Exception $e){
echo $e;
}
巴扎黑2017-04-10 16:17:16
那必然是某个环节出了问题,不过从你提供的信息看不出哪里有问题。你可以注意一下json_encode结果是否正常,js里是否还有其他方法处理了结果。
ringa_lee2017-04-10 16:17:16
$.ajax
success:function(callback){alert(callback)},
php:
echo json_encode($str,JSON_FORCE_OBJECT);