我想验证提交时的表单字段以及ajax是否返回消息以阻止表单提交。这是我的js代码:
$('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] - 如何读取返回的消息?
基本上在 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 header 设置为 application/json,因为该输出可以通过 JQuery 的 ajax 或 $.post 函数轻松读取,还需要结构化的 JSON 输出,这是您应该如何做的...
对于 PHP
<?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);
这将很容易被ajax读取...
对于 JavaScript
$('form.p_form').submit(function (){
var description = $.trim($('#f9').val());
var aa = $.post("checkdescription.php",{
description: description
},
function(data, status){
return data['status'];
}
});
关于javascript - $.post 验证表单字段并在出现错误时阻止提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31946581/