如何使用json在php中检索错误消息?

时间:2014-06-24 06:33:49

标签: javascript php json

我有以下php代码:

if (($name == "") || ($email == "") || ($telephone == "") || ($username == "") ||       ($password == "")) {       

$ret = Array();
$ret["msg"] = "some input is missing";

echo json_encode($ret);
} elseif (!preg_match($pattern_email, $email)) {

$ret = Array();
$ret["msg"] = "email format is incorrect";

echo json_encode($ret);
} elseif (!preg_match($pattern_phone, $telephone)){

$ret = Array();
$ret["msg"] = "telephone should be all digits";

echo json_encode($ret);
}

以及以下javascript:

    $(document).ready(function(){


$("#save").click(function(){

     var name = $('#name').val();
     var email = $('#email').val();
     var telephone = $('#telephone').val();
     var username = $('#username').val();
     var password = $('#password').val(); 

  $.ajax({
   type:'POST',
   url: 'contactData.php',

  dataType: "json",
   data:{"name":name,"telephone":telephone,"email":email, "username":username, "password":password},
   success: function(data) {
       //alert(data);
       var result = JSON.parse(data);
       $("#validate").html(data.msg);    


   }        
});

});
});

该程序的目的是在其中一个条件为真时使用json输出error message。但是我没有检索到任何数据,程序在声明中显示错误  var result = JSON.parse(data);
任何人都可以帮助PLZ ???

2 个答案:

答案 0 :(得分:0)

首先在PHP而不是

$errorMsg = '{"msg":"some input is missing"}';

使用

$ret = Array();
$ret["msg"] = "some input is missing";

echo json_encode($ret);

在你的javascript中

添加你的ajax请求

dataType: "json",

您的Parse现在可以使用

答案 1 :(得分:0)

您需要创建一个数组。在代码结束后进行所有验证。

$data['respone'] = $errormsg;
echo json_encode($data);
exit();

在javascript中你需要解析json对象。并检查是否oject.element ==''然后将其他文件写错了。