Отправить данные в PHP, используя проблему AJAX - PullRequest
0 голосов
/ 29 мая 2018

У меня есть сайт, на котором у меня есть два значения, которые я хочу отправить в скрипт PHP.Я хотел бы, чтобы это происходило всякий раз, когда пользователь выполняет определенное действие.Он должен быть «тихим», так как он должен просто работать в фоновом режиме, поэтому я хочу отправить его из AJAX в PHP.У меня есть код, который кажется правильным, но почему-то не работает.Я использовал строку

success: function () {
                        alert('data was submitted');
                    }

Чтобы проверить, отправляет ли он данные и не достигает ли это, так как предупреждение не отображается.

HTML / Ajax

<!DOCTYPE html>
<html lang="en">

  <head>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <script>
        function ch() {

            var customID = document.getElementById('hiddenCustomerValue').innerHTML;    
            var customEmail = document.getElementById('customerEmail').innerHTML;   
            var dataString = 'customID='+customID+'&customEmail='+customEmail;

            $.ajax({
                    type:"POST",
                    url: "testSilence.php",
                    data:dataString,
                    cache: false,
                    success: function () {
                        alert('data was submitted');
                    }
            });
            return false;
        }
    </script>

  </head>

  <body>

       <p id="hiddenCustomerValue" style="color:white;">customerKeyID</p>
       <p id="customerEmail" style="color:white;">test</p>
       <button id="send_btn" onclick="ch()">Submit</button>

 </body>

PHP

<?php

$customerID = $_POST['customID'];
$customerEmail = $_POST['customEmail'];

?>

1 Ответ

0 голосов
/ 29 мая 2018

Чтобы пометить это как ответившее, как предлагается в моем комментарии, удалите пробелы в передаваемой строке данных, поскольку это изменяет то, что ключи будут представлять на стороне сервера.

Как предлагается вМой самый ранний комментарий, также было бы лучше использовать объект вместо:

data: {
    'key' : 'val',
    'key2' : 'val-2'
}

В вашем случае это будет:

data : {
    'customID' : customID,
    'customEmail' : customEmail
}

Примечание: Относительно вашегоPHP-код, я бы определенно проверил там, чтобы убедиться, что данные передаются с использованием isset, empty и trimс другой проверкой, которая, по вашему мнению, подойдет. Помните, запросы могут быть подделаны .

...