ajax的post请求后台,已经成功执行请求php里面的操作,但是始终不执行回调函数,
经查得知,ajax不执行回调函数的原因如下:
jquery中规定返回的JSON字符串的KEY要用引号括起来,如{“result”: 1}这样才可以。
所以是数据返回的格式问题,如把dataType设置为json,那么就需要按照json的格式将数据返回,如设置为text或者html,则无需是json的数据格式。
修改后如下:
function Save() {
var Tab_Name = "user";
var values = $("#aaa").serializeArray();
var ii = values.length;
$.post('php/Form_save.php', {
'atr': values,
'Tab_name': Tab_Name,
'len': ii
},
function(data) {
$('#box').append(data);
},"html");
}
注意
在这次Ajax请求中还遇到另外一个问题,就是请求php对SQL server进行增加数据到数据库时报错,经调试,php代码没有问题,问题出在sql语句:
user这里会出现‘附近语法错误’,因为user是SQL server的关键字,所以如果表名为user必须给它加个中括号括起来[],如下代码所示:
insert into [user](user_name,psw) values('cscs',123)