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