无法使用Ajax将数据从javascipt发送到php文件

时间:2019-05-08 15:15:02

标签: javascript php ajax

我无法检索从php发送的que q参数。 当我运行代码时,空值会插入数据库中。 这是我的代码中值得关注的部分:

我的javascript函数:

function load_now(str){
  //alert(str);
  var id = str.split("+")[0];
  var r = confirm("Start load process for scooter " + str + "?");
  if (r == true) {
    var xmlhttp = new XMLHttpRequest();
    //console.log(str);
    xmlhttp.open("GET", "load_scooter_action.php?q=" + str, true);
    xmlhttp.send();
  }
}

和我的load_scooter_action.php文件:

<?php
require "checkUserModel.php";
require "databaseController.php";
$databaseController = new DatabaseController();
$databaseController->startConnexionToDatabase();
$conn = $databaseController->getConn();

$dateObject = new DateTime();
$startTime  = $dateObject->format('Y-m-d H:i:s');
$user = $_SESSION['user-id'];

// get the q parameter from URL
$q = $_REQUEST["q"];
//forme:(scooter, lat, lng, chg);
$val = explode("+",$q);
$scooter = val[0];
$lat = val[1];
$lng = val[2];
$chg = val[3];

echo "<script type='text/javascript'> console.log(".$q.")</script>";

$sql = "UPDATE `scooters` SET `disponible` = '0' WHERE `scooters`.`numero` = '$scooter';";

if ($conn->query($sql) === TRUE) {
  $add = "\nScooter Taken";
} else {
  $add = "Error Taking scooter" . $conn->error;
}

$sql = "
    INSERT
    INTO Reloads(scooter, user, initialLoad, finalLoad, sourceX, sourceY,destinationX, destinationY, startTime,endTime)
    VALUES ('$scooter','$user','$chg',null,'$lat','$lng',null ,null, '$startTime', null)";

if ($conn->query($sql) === TRUE) {
  //echo "\nNew record created successfully";
  //echo '<script>window.location.href = "../php/scooterMapIndex.php";</script>';
} else {
  echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

您能帮助我清楚地了解我的错误吗? 预先感谢。

编辑 str的格式为599+50.8037+4.32782+4

2 个答案:

答案 0 :(得分:0)

两个错误: 第一个是快速修复。将val替换为$val 第二个问题是,尽管{.js文件中str的格式为599+50.8037+4.32782+4,但在.php文件中$q的检索中没有+字符。因此,必须对其进行适当的拆分。

答案 1 :(得分:-1)

您能告诉我在str load_now函数中传递了什么或在str中传递了什么值。当您发出警惕(str)时,您会获得价值吗?

如果是,请尝试下面的功能

$.ajax({
                type: 'GET',
                url: 'follow_user.php?user_id='.urlencode($user_id),
                success: function(data) {
                    alert('done');
                }
            });

谢谢