2013-12-07 25 views
0

我是學習AJAX的初學者。AJAX總是返回false,如何設置PHP false

這裏是我的表單後操作的PHP,但總是返回false。

<?php 
session_start(); 
include"../connection/sambung.php"; 

$us=$_SESSION['username']; 

if ($_SERVER['REQUEST_METHOD'] == 'POST') { //halaman ini harus dipanggil melalui post 
$id = $_POST["id"]; 
$code = $_POST["code"]; 
$act = $_POST["act"]; 

switch($act){ 
//tambah data 
case "insert":$sql="INSERT INTO karyawan(nip,nama)VALUES('".$nip."','".$nama."')";$i='1';break; 
//edit data 
case "validate":$sql="UPDATE member SET validasi=1 WHERE id_member ='".$id."' and kode_member='".$code."'";$i='2';break; 
//hapus data 
case "delete":$sql="DELETE FROM karyawan WHERE nip = '".$nip."'";$i='2';break; 
} 
//eksekusi sql 
$kueri = mysql_query($sql); 

//tampilkan hasil 
if($i=='1'){ 
    if(mysql_num_rows($kueri)){echo "success";} 
} 
else if($i=='2'){ 
    if (mysql_affected_rows($kueri)){echo "success";} 
    } 
else{ 
    echo "failed"; 
    } 
}else{ 
echo "This link can't run directly."; 
} 
?> 

和AJAX配置如下:

$("#dialog-validate").dialog({ 
    autoOpen: false, 
    height: 200, 
    width: 350, 
    modal: true, 
    buttons: { 
    "Validate": function() { 
    var 
    aid = $("#idedit").html(); 
    acode = $("input#codeedit").val(); 
    aact= 'validate'; 
    $("#waiting").show(); 
    $.ajax({ 
    type: "POST", 
    url: "applicant/check.php", 
    data: {"id":aid,"code":acode,"act":aact}, 
    timeout: 3000, 
    beforeSend: function(){}, 
    complete: function(){}, 
    cache: false, 
    success: function(result){ 
    if (result=='success'){ 
    //ubah isi data table sesuai dengan perubahan yang terjadi 
    objRow.find(".valcell").html("Yes"); 
    $("#waiting").hide(); 

    }else{alert('gagal simpan data');$("#waiting").hide();} 
    }, 
    error: function(error){$("#waiting").hide();alert(error);} 
    } 
    ); 

    $(this).dialog("close"); 

    }, 
    Cancel: function() { 
    $(this).dialog("close"); 
    } 
    } 
    }); 

我需要的是如何使

success: function(result){ 
    if (result=='success'){ 

結果假的,我已經改變了很多次,PHP或AJAX錯誤?請幫助

+0

檢查瀏覽器控制檯的AJAX錯誤和Apache的PHP錯誤? – user2486495

+0

奇怪的是,當我把PHP作爲普通的PHP它結果回聲「假」確實工作。 -.- – user3067476

+0

抓住螢火蟲,或使用開發人員控制檯中內置的瀏覽器來監控傳出的AJAX請求和傳入響應。很多時候可以幫助找到錯誤。此外,請檢查您的HTTP服務器和PHP的錯誤日誌。警告:此代碼易受SQL注入攻擊,並且正在使用棄用的API。請參閱PDO和mysqli的文檔 – Zarathuztra

回答

0

它看起來像你正在檢查你的成功函數內的錯誤代碼。如果您的腳本返回HTTP 200 OK標頭,則會調用成功。嘗試設置錯誤標題,以便調用錯誤函數。

這完全不能正確回答您的問題,但它會讓您的代碼更易於閱讀,並能很好地解決您的問題。