Невозможно отправить данные из javascipt в файл php с помощью ajax - PullRequest
1 голос
/ 08 мая 2019

Я не могу получить параметр que q, отправленный с php.Когда я запускаю свой код, нулевые значения вставляются в мою базу данных.Вот что касается моего кода:

моя функция 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 голосов
/ 08 мая 2019

Две ошибки: первая - быстрое исправление.Замените val на $val Вторым является то, что, хотя str имеет вид 599+50.8037+4.32782+4 в файле .js, $q извлекается без символов + в файле .php.Поэтому оно должно быть соответствующим образом разделено.

0 голосов
/ 08 мая 2019

Можете ли вы показать мне, что передается в str или какое значение передается в функции str load_now. Вы получаете значение, когда вы предупреждаете (str)?

Если да, попробуйте следующую функцию

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

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...