$ .post验证表单字段和blck提交是否有错误

时间:2015-08-11 15:58:00

标签: 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 !== ''){
    return data;
    }
 });

 if(aa){
 alert(aa);
 return false;
 }
});

但上面的代码总是返回[object XMLHttpRequest] - 如何读取返回的消息?

basicdes in 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;
    }
 });

但它不会阻止表单提交..

1 个答案:

答案 0 :(得分:0)

要求您还将PHP标头设置为application / json,因为JQuery的ajax或$ .post函数可以轻松读取此输出,还需要更多结构化JSON输出,此处和#39;你应该怎么做......

for PHP

<link rel="stylesheet" href="../jspm_packages/npm/malihu-custom-scrollbar-plugin@3.0.9/jquery.mCustomScrollbar.css" />
<template>
...
</template>

这将很容易被ajax读取......

对于Javascript

<?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);