2013-12-07 24 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标头,则会调用成功。尝试设置错误标题,以便调用错误函数。

这完全不能正确回答您的问题,但它会让您的代码更易于阅读,并能很好地解决您的问题。