Javascript $.post验证表单字段和blck提交是否存在错误
我想在提交时验证表单字段,以及ajax是否返回消息来阻止表单提交。以下是我的js代码:Javascript $.post验证表单字段和blck提交是否存在错误,javascript,php,jquery,ajax,forms,Javascript,Php,Jquery,Ajax,Forms,我想在提交时验证表单字段,以及ajax是否返回消息来阻止表单提交。以下是我的js代码: $('form.p_form').submit(function (){ var description = $.trim($('#f9').val()); var aa = $.post("checkdescription.php",{ description: description }, function(data, status){ if(data !== ''){ re
$('form.p_form').submit(function (){
var description = $.trim($('#f9').val());
var aa = $.post("checkdescription.php",{
description: description
},
function(data, status){
if(data !== ''){
return data;
}
});
if(aa){
alert(aa);
return false;
}
});
但是上面的代码总是返回[object XMLHttpRequest]——如何读取返回的mesage
Basicali在checkdescription.php中,我有php代码来验证该字段,如果该字段出现错误:
$return ='error message';
//file ends with:
echo json_encode($return);
我如何阅读从回复中收到的确切信息
提前谢谢你
我也试过:
$('form.p_form').submit(function (){
var description = $.trim($('#f9').val());
var aa = $.post("checkdescription.php",{
description: description
},
function(data, status){
if(data !== ''){
return false;
}
});
但它不会阻止表单提交。您还需要将PHP头设置为application/json,因为JQuery的ajax或$post函数可以轻松读取此输出。此外,还需要更多的结构化json输出,下面是您应该如何做的 对于PHP
您还需要将PHP头设置为application/json,因为JQuery的ajax或$post函数可以轻松读取此输出。如果还需要更多结构化的json输出,下面是您应该如何做的 对于PHP
为什么不使用
e.preventDefault()
而不返回false
?您是否尝试过将XMLHttpRequest打印到控制台?如果您对其进行检查,可能会发现缺少的参数隐藏在对象中的位置。可能重复的请参见底部的编辑问题为什么不使用e.preventDefault()
而不是return false
?您是否尝试将XMLHttpRequest打印到控制台?如果您检查它,您可能会发现缺少的参数隐藏在ObjectProblem中的位置。可能的重复项请参见底部编辑的问题
<?php
$output = array('status'=>'true','message'=>'your error message');
//Setting up the output MIME type
header('Content-Type:application/json;');
//Providing Structured Output
echo json_encode($output);
$('form.p_form').submit(function (){
var description = $.trim($('#f9').val());
var aa = $.post("checkdescription.php",{
description: description
},
function(data, status){
return data['status'];
}
});