AJAX 不返回预期的响应

问题描述

我正在尝试开始使用 AJAX 来

  1. 一个 Javascript 变量从一个 PHP 文件发送到另一个文件
  2. 这会将它排入我创建的队列函数
  3. 然后通过更改我的主文件中的 标记来查看队列中的该 ID

编辑:

我现在收到一个错误,因为我添加一个错误参数; [Object Object]Undefinedconsole.log(data) 错误POST 500 jquery.js

我尝试过在 .d 之后添加 data解决方案,更改 dataType 以匹配来自开发工具中网络面板的响应,PHP 文件中的 json_encode,但没有运气。

Javascript:

var log = document.getElementById("log"); //ID of the  <p> tag to change to ID number

document.getElementById("scanButton".addEventListener("click",async () => {

try{

/*functions to obtain ID number*/

var IDnumber = 0000; //functions will change this value after every click



$.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'];

/*queue methods and functions*/

public function peek() { 
  return $this->queue[$this->front]; 
}

$queue = new CircularQueue(15);
$queue->enqueue($idNumber);
echo $queue->peek();

Networking Page in DevTools for savetodb.php

解决方法

尝试通过参数“error”来捕捉错误,而不是使用try catch。

$.ajax({
    type: "POST",url: "savetodb.php",data: { idNumber : IDnumber},success: function(){
        log.innerHTML = ("ID : " + IDnumber + " logged successfully!");}
    },error: function(error) {
        log.innerHTML = error.responseText;
    }
);

https://api.jquery.com/jquery.ajax/

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...