-1

我正在通过 ajax 提交一个 html 表单并通过同一个 .php 文件打印错误。我的代码看起来有点像

1.php

<?php
  if(!cond){
    echo "error1"
  }else{
    echo "error2"
  }
?>
<form action="#">
<button> and other elements.

现在,如果我$('#err').html(response)从我.js的任何错误中打印,它显然会打印1.php必须提供的任何内容,包括 html 按钮和不提供的内容。我的问题是我不希望这些 html 实体出现在我的回复中。我显然可以匹配每个错误.js并单独打印它们,但我想知道是否有一种有效的方法来做到这一点。

4

2 回答 2

1

好吧,如果需要在单个文件中执行所有操作,则可以HTTP_X_REQUESTED_WITH像这样检查标题:

<?php
  if(!cond){
    echo "error1"
  }else{
    echo "error2"
  }

if (!strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest') {
    ?>
    <form action="#">
    <button> and other elements.
    <?php
}

但更好的方法是创建单独的 php 文件来处理您的错误。

于 2013-03-23T08:09:43.250 回答
0

您只能返回错误代码并通过 javascript 处理它,如下所示:

在present.php中

eval("x=" + response);
if(x.Err=='2')
{
    //show error and ...;
}

在 service.php 中:

$Res[Err]=2;
echo json_encode($Res)
于 2013-03-23T08:05:04.850 回答