2013-04-17 86 views
0

我的問題是這樣的。我有這個阿賈克斯電話:

$.ajax({ 
       url: "./changepassword_ajax.php", 
       type: "POST", 
       data: formData, 
       processData: false, 
       contentType: false, 
       success: function (res) { 

       } 
     }); 

var formData有信息(這不是問題)。 在 「changepassword_ajax.php」 我有這樣的代碼:

$obj = new All(); 
$clave = $obj->CNF_get('admin_clave'); 

if($_POST('oldpassword') == $clave){ 
    $obj->CNF_set('admin_clave', $_POST('newpassword')); 
    echo "OK"; 
}else{ 

    echo "ERROR"; 
} 

這樣做後:

if($_POST('oldpassword') == $clave){ 

AJAX調用返回。所以它沒有達到其他代碼。

感謝您的幫助。

回答

0

我認爲你做了一個小錯誤而寫代碼 更換線 if($_POST('oldpassword') == $clave){if($_POST['oldpassword'] == $clave){

,並重新運行該代碼

+0

非常感謝。如果您在凌晨3點編碼,會發生這種情況,再次感謝。 – agnunez

1

一旦你ECHO東西有開始響應報頭...... 但)你的PHP腳本不會停止,如果沒有設定退出(或死亡(),並進入到最後..

一些建議我可以給你..

在你JQUERY加1個PARAM

數據類型: 'JSON',

而在你的PHP你有回聲JSON編碼responde(最好是數組)..

echo json_encode(array('state'=>"OK")); 
exit(); 

這樣,你在你可以在響應jQuery的..

success: function (res) { 
    alert(res.state); 
} 
0

,請使用以下代碼

$obj = new All(); 
$clave = $obj->CNF_get('admin_clave'); 

if($_POST['oldpassword'] == $clave){ 
    $obj->CNF_set('admin_clave', $_POST('newpassword')); 
    echo "OK"; 
    exit; 

}else{ 

    echo "ERROR"; 
    exit; 
} 

在ajax成功代碼中提醒res

+0

@安德烈斯·努涅斯是這樣爲你工作? –

+0

我沒有測試它。問題是$ _POST中的括號。 – agnunez