2013-03-23 72 views
-1

我通過ajax提交html表單並通過相同的.php文件打印錯誤。我的代碼看起來有點像

1.PHP

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

,如果我現在對任何1.php所提供的包括HTML按鈕並沒有什麼任何錯誤它顯然打印打印$('#err').html(response)從我.js。我的問題是我不希望這些html實體在我的回覆中。我明顯可以匹配來自.js的每一個錯誤,並單獨打印它們,但我想知道是否有一種有效的方法來執行此操作。

回答

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文件來處理您的錯誤。

+0

是的我也創建了單獨的文件,但這種情況有點不允許。感謝您的迴應。 – 2013-03-23 08:42:15

0

只能返回錯誤代碼和JavaScript的是這樣的處理:在

present.php

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

和service.php

$Res[Err]=2; 
echo json_encode($Res)