我修改了我的代码,试图找到这个bug。我有一个Ajax post函数在我的代码的其他地方工作,它工作得很好。
由于某种原因,这个人不想合作。
我要减少输入的数量,这样代码看起来不会太长。这里是php
<?php
// --------Connect to DB --->
include 'connect.php';
$conn = connect ();
//====================================================================>
//grab data
$this_id = $_POST('pid_num');
$this_start_date = $_POST('date_ammend');
$sql_update_query = "UPDATE Galaxy_jobs SET date ='$this_start_date' WHERE PID = $this_id";
//====================================================================>
mysqli_query ($conn,$sql_update_query);
//close
mysqli_close($conn);
?>
这是我的Ajax调用。function ammend_job()
{
pid = '2'; // test figures
start_date_ammended = '11-11-1111'; // test figures
var Data = {
pid_num : pid,
date_ammend : start_date_ammended,
};
$.ajax({
url:"ammend_job.php",
type: "POST",
dataType: 'text',
data: Data,
success: function(data){
if(data.status == 'success')
alert('Post has been uploaded to Database');
},
error: function(xhr,textStatus,err,jqXHR) {
console.log("readyState: " + xhr.readyState);
console.log("responseText: "+ xhr.responseText);
console.log("status: " + xhr.status);
console.log("text status: " + textStatus);
console.log("error: " + err);
console.log("Jquery error:" + jqXHR)
// alert('There is an error, screenshot this error and send to Admin : TextStatus: ' +textStatus+" - Error: "+errorThrown+" - XMLRequest: "+XMLHttpRequest+"- Response Text"+xhr.responseText);
}
});
}
错误码如下:
main.php:102 readyState: 4
main.php:103 responseText:
main.php:104 status: 500
main.php:105 text status: error
main.php:106 error: Internal Server Error
main.php:107 Jquery error:undefined
花了一段时间。
我不会发现它,如果它不是用户:tereško谁建议密切关注服务器上的错误日志。
我发现当我替换php文件
中的代码时//grab data
$this_id = $_POST('pid_num');
$this_start_date = $_POST('date_ammend');
加上方括号
//grab data
$this_id = $_POST['pid_num'];
$this_start_date = $_POST['date_ammend'];
代码没有抛出错误并且正常工作。我希望有人在那里发现这篇文章,并指出这可能是他们错误的一个原因。