Php 检索不同格式的数据
在同一页上提交两份表格。具有不同ID和名称的两个表单和字段。 两种形式中的一种效果很好,但我对第二种有问题 如果输入错误,我需要正常地获取错误消息,如果一切正常,我需要数组数据,因为我想在表单第二步中编写一条消息 我的php代码:Php 检索不同格式的数据,php,jquery,ajax,Php,Jquery,Ajax,在同一页上提交两份表格。具有不同ID和名称的两个表单和字段。 两种形式中的一种效果很好,但我对第二种有问题 如果输入错误,我需要正常地获取错误消息,如果一切正常,我需要数组数据,因为我想在表单第二步中编写一条消息 我的php代码: //To get errors messages normally if(!empty($errors2)) { $data != "noPassed"; echo display_errors2($errors2); } else
//To get errors messages normally
if(!empty($errors2)) {
$data != "noPassed";
echo display_errors2($errors2);
}
else {
//To retrieve data I need to code my message in step 2
$data2 = array();
$data2['client_id'] = $client_id;
$data2['client_civilite'] = $client_civilite;
$data2['client_name'] = $client_name;
$data2['res2'] = "passed";
header('Content-Type: application/json');
echo json_encode($data2);
}
jQuery.ajax({
url : '/myfolder/parsers/check.php',
method : 'POST',
type : 'POST',
data : data,
success : function(data){
//I presume errors in followed condition
if (data != 'passed') {
jQuery('.messages_erreurs').html(data);
}
if(data2.res2 == 'passed') {
$(".frm").hide("fast");
$("#step2").show("slow");
$(".open1").css("display","none");
$(".open2").css("display","inline-block");
// accès à data.client_civilite, data.client_id, pour message d'identification .
$('#clt_id').val(data2.client_id);
$("#check_ok").html(data2.client_civilite+" "+data2.client_nom+" "+': identification réussie.');
}
脚本:
//To get errors messages normally
if(!empty($errors2)) {
$data != "noPassed";
echo display_errors2($errors2);
}
else {
//To retrieve data I need to code my message in step 2
$data2 = array();
$data2['client_id'] = $client_id;
$data2['client_civilite'] = $client_civilite;
$data2['client_name'] = $client_name;
$data2['res2'] = "passed";
header('Content-Type: application/json');
echo json_encode($data2);
}
jQuery.ajax({
url : '/myfolder/parsers/check.php',
method : 'POST',
type : 'POST',
data : data,
success : function(data){
//I presume errors in followed condition
if (data != 'passed') {
jQuery('.messages_erreurs').html(data);
}
if(data2.res2 == 'passed') {
$(".frm").hide("fast");
$("#step2").show("slow");
$(".open1").css("display","none");
$(".open2").css("display","inline-block");
// accès à data.client_civilite, data.client_id, pour message d'identification .
$('#clt_id').val(data2.client_id);
$("#check_ok").html(data2.client_civilite+" "+data2.client_nom+" "+': identification réussie.');
}
用于获取错误消息的函数:
function display_errors2($errors2) {
$display2 = '<ul class="bg-danger">';
foreach ($errors2 as $error2){
$display2 .= '<li class="text-danger">'.$error2.'</li>';
}
$display2 .= '</ul>';
return $display2;
}
功能显示\u errors2($errors2){
$display2='';
foreach($errors2作为$error2){
$display2.='- 。$error2.
;
}
$display2.='
';
返回$display2;
}
首先,您应该决定从php脚本返回什么,以便可以轻松地在javascript端解析它:文本、html或json
当请求成功时,您会发回json,但当出现错误时,我看不到该标题,因此我怀疑您在发回常规文本
当您发回json时,您需要确保在使用它之前对它进行了解析。您可以通过设置数据类型
属性来实现这一点。然后,您的数据
变量将是一个对象(基于php脚本…),因此您可以访问以下值:
jQuery.ajax({
url : '/myfolder//parsers/check.php',
method : 'POST',
// Set the correct data type
dataType : 'json',
data : data,
success : function(data){
// Access the correct values
if (data.res2 != 'passed') {
// You need to set the errorText property (or similar) in php
jQuery('.messages_erreurs').html(data.errorText);
}
// etc.
首先,您应该决定从php脚本返回什么,以便可以轻松地在javascript端解析它:文本、html或json 当请求成功时,您会发回json,但当出现错误时,我看不到该标题,因此我怀疑您在发回常规文本 当您发回json时,您需要确保在使用它之前对它进行了解析。您可以通过设置
数据类型
属性来实现这一点。然后,您的数据
变量将是一个对象(基于php脚本…),因此您可以访问以下值:
jQuery.ajax({
url : '/myfolder//parsers/check.php',
method : 'POST',
// Set the correct data type
dataType : 'json',
data : data,
success : function(data){
// Access the correct values
if (data.res2 != 'passed') {
// You need to set the errorText property (or similar) in php
jQuery('.messages_erreurs').html(data.errorText);
}
// etc.
消息错误基于数据。。。(我在下面添加代码)。我做了一个jason echo和res2只是为了检索步骤2上的三个数据消息错误基于数据。。。(我在下面添加代码)。我制作了一个jason echo和res2,只是为了在步骤2中检索三个数据