AJAX没有返回预期的响应。
AJAX没有返回预期的响应。
我正在尝试使用AJAX将一个PHP文件中的Javascript变量发送到另一个PHP文件中,并将其加入到我创建的队列函数中,然后通过更改主文件中的
标签来查看队列中的ID。
编辑:我现在遇到了一个错误,我已经添加了一个错误参数;不论是[Object Object]还是Undefined和console.log(data),错误都是POST 500 jquery.js。
我尝试过添加.data之后的.d,修改dataType以匹配Dev Tools中网络面板的响应,以及在PHP文件中使用json_encode,但都没有成功。
Javascript:
var log = document.getElementById("log"); //更改为ID号码的标签的ID
document.getElementById("scanButton".addEventListener("click", async () => {
try{
/*获取ID号码的函数*/
var IDnumber = 0000; //函数将在每次点击后更改此值
$.ajax({
type: "POST",
url: "savetodb.php",
data: { idNumber : IDnumber },
success: function(data){
log.innerHTML = data;
},
error: function(error) {
log.innerHTML = error;
}
});
} catch (error){
log.innerHTML = error;
});
PHP:
$idNumber = $_POST['idNumber'];
/*队列方法和函数*/
public function peek() {
return $this->queue[$this->front];
}
$queue = new CircularQueue(15);
$queue->enqueue($idNumber);
echo $queue->peek();
[点击此处查看图片](https://i.stack.imgur.com/bu6VC.png)
在使用AJAX时,有时会遇到预期外的响应问题。出现这个问题的原因可能是代码中没有正确处理错误的情况。解决方法是通过使用"error"参数来捕获错误,而不是使用try catch语句。
下面是一个示例的代码片段,展示了如何通过"error"参数来捕获错误:
$.ajax({ type: "POST", url: "savetodb.php", data: { idNumber : IDnumber}, success: function(){ log.innerHTML = ("ID : " + IDnumber + " logged successfully!");} }, error: function(error) { log.innerHTML = error.responseText; } );
在这个代码中,我们使用了jQuery的$.ajax()函数来发送一个POST请求。在请求成功时,我们将IDnumber的值显示在log元素中。然而,如果请求发生错误,我们将使用error参数的responseText属性来显示错误消息。
通过这种方式,我们可以更好地处理AJAX请求中可能出现的错误,并显示相应的错误消息。
更多关于$.ajax()函数的信息可以在jQuery官方文档中找到。