繁体   English   中英

无法使用ajax将数据从JavaScript发送到PHP文件

[英]Unable to send data from JavaScript to PHP file using ajax

我无法检索从PHP发送的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();
?>

您能帮助我对我的错误有清楚的了解吗? 提前致谢。

EDIT str具有以下格式599+50.8037+4.32782+4

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

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

如果是,请尝试以下功能

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

谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM