我正在使用 JQUERY .ajax() 使用 PHP 将序列化的表单数据发送到 MySQL。如果处理数据时出现问题,被调用的后端 PHP 将返回一条消息。然后,我的 Javascript 函数会在决定下一步做什么之前检查返回的消息。如果消息长度为'0',则表示发帖成功,可以继续发帖。如果消息长度 > '0',那么在表单处理过程中一定发生了错误,它会在那里捕获以处理它。但是,在测试时,我发现成功处理我的表单数据,返回了一条大小为 13 的消息,即使消息本身是空白的。
我使用的javascript函数如下。我已经对其进行了修改以测试超过 13 个字符的消息长度,现在它工作正常。我只是好奇为什么空白响应的长度是 13 个字符。忽略复杂的 .load() 语句,它们只是根据是否检测到错误消息将用户返回到不同的页面。
$("button#update").click(function() {
var cat = $("select#cat_select").val();
var dataString = $("form#project_update").serialize();
$.ajax({
type: "POST",
url: "process.php",
data: dataString,
dataType: 'text',
success: function( msg ) {
console.log('msg is ' + msg);
length = msg.length;
console.log('length is ' + length);
if (length > 13) { // no idea why a blank msg has a length of 13!!
alert(msg);
$("#main").load('?app=$app&func=$func&sub=ajax&ajaxSub=edit_project&cat=' + cat + '&proj_id=' + $proj_id).fadeIn('fast');
}
else {
$("#main").load('?app=$app&func=$func&sub=ajax&ajaxSub=project_detail&cat=' + cat + '&proj_id=' + $proj_id).fadeIn('fast');
}
}
});
return false;
});