-1

ajaxを介してhtmlフォームを送信し、同じ.phpファイルを介してエラーを出力しています。私のコードは少し似ています

1.php

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

これで、エラーが発生したときに印刷すると、HTMLボタンなど、提供されているものはすべて印刷$('#err').html(response)されます。私の問題は、これらのhtmlエンティティを応答に入れたくないということです。私は明らかにすべてのエラーを照合し、それらをすべて個別に印刷することができますが、これを行うための効率的な方法があるかどうか疑問に思いました。.js1.php.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 に答える