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錯誤?請幫助
檢查瀏覽器控制檯的AJAX錯誤和Apache的PHP錯誤? – user2486495
奇怪的是,當我把PHP作爲普通的PHP它結果回聲「假」確實工作。 -.- – user3067476
抓住螢火蟲,或使用開發人員控制檯中內置的瀏覽器來監控傳出的AJAX請求和傳入響應。很多時候可以幫助找到錯誤。此外,請檢查您的HTTP服務器和PHP的錯誤日誌。警告:此代碼易受SQL注入攻擊,並且正在使用棄用的API。請參閱PDO和mysqli的文檔 – Zarathuztra