Как передать данные в PHP с помощью AJAX? - PullRequest
0 голосов
/ 29 июня 2018

Я хочу отобразить сообщение в соответствии с className, переданным на сервер с помощью AJAX. Я новый AJAX, я понятия не имею об этом ..

myhtml код:

<div class="header">
        <h2>Configuration</h2>
        <p> Enable: </p> <i class="fas fa-toggle-off " id="enable-btn"></i>
        <span id="demo">Dashboard Enabled</span>
    </div>

myJS код:

function enableButtonClicked() {
    $(document).ready(function () {
        $('#enable-btn').click(function () {
            $( ".dashboard, #demo" ).toggle();
            $(this).toggleClass("fa-toggle-off fa-toggle-on");
        });
    }); 
}

AJAX код:

function displayMessageAccordingToButtonState() {
    var x = document.getElementById('enable-btn').className;
    if( x == 'fas fa-toggle-off'){
        var msg = "Button Disabled"
        $('.header').load('request.php',{"displayMsg":msg});
    }
    else {
        var msg = "Button Enabled"
        $('.header').load('request.php',{"displayMsg":msg});
    }

}

php код:

<?php
   if( $_REQUEST["displayMsg"] ){
      $msg = $_REQUEST['displayMsg'];
      echo "".$msg ;
   }
?> 

Ответы [ 3 ]

0 голосов
/ 29 июня 2018

это рабочая демка

просто скопируйте и попробуйте

Я добавил дополнительный диапазон, и содержимое ajax-файла копируется в этот контент

 <html>
      <head>
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
      </head>
      <body>

      <div class="header">
         <h2>Configuration</h2>
         <p> Enable: </p> <i class="fas fa-toggle-off " id="enable-btn"></i>
         <span id="demo">Dashboard Enabled</span>
     </div>
    <span id="demo2"></span>
      </body>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">          </script>
 <script>
$(document).ready(function () {
    $('#enable-btn').click(function () {
        $( ".dashboard, #demo" ).toggle();
        $(this).toggleClass("fa-toggle-off fa-toggle-on");
    });
}); 


 $('#enable-btn').click(function () {   
 var x = document.getElementById('enable-btn').className;    
 if( x == 'fas fa-toggle-off'){
    var msg = "Button Disabled"
    $('#demo2').load('request.php',{"displayMsg":msg},function(responseTxt,      statusTxt, xhr){
    if(statusTxt == "success")
        console.log("External content loaded successfully!"+responseTxt);
    if(statusTxt == "error")
        console.log("Error: " + xhr.status + ": " + xhr.statusText);
});
}
else {
    var msg = "Button Enabled"
            $('#demo2').load('request.php',{"displayMsg":msg},function(responseTxt, statusTxt, xhr){
    if(statusTxt == "success")
        console.log("External content loaded successfully!"+responseTxt);
    if(statusTxt == "error")
        console.log("Error: " + xhr.status + ": " + xhr.statusText);
});
}
 });
 </script>
 </html>

это мой php файл

  if( $_REQUEST["displayMsg"] ){
     $msg = $_REQUEST['displayMsg'];
     echo "".$msg ;
  }
0 голосов
/ 29 июня 2018

Прежде всего, это создать файл HTML с включенным jQuery.

Допустим, у вас есть скрытое поле ввода.

<input type="hidden" id="mydata" value="sampledata">

Теперь вы можете получить данные из скрытого поля, используя скрипт $("#mydata").val();

Теперь вы можете написать код Ajax следующим образом

$.ajax({ 
  type: 'post',
  url: '/path/to/ajax.php',
  data: {
    postvariable: $("#mydata").val()
  },
  success: function() {
    alert('success');
  }
});

В вашем файле ajax.php вы можете теперь получить значение как $_POST['postvariable']

Теперь вы можете объявить $myphpvar = $_POST['postvariable'];

Где echo $myphpvar; //will print 'sampledata' without quotes

Подводя итог, это похоже на отправку формы с указанием метода сообщения. За исключением случаев использования ajax, он не требует перезагрузки страницы.

Подробнее об этом вы можете прочитать в моем уроке: https://www.davidangulo.xyz/website-development/how-to-pass-value-from-javascript-to-php/

0 голосов
/ 29 июня 2018

в JS

var request = $.ajax({
        async: false,
        url: 'Php.file', / your php file path
        type: "POST",
        data: "Value1=your value";
        datatype: 'html',
    });
    request.done(function(data) {
        //data you will handle from php file
    });

в PHP получают

$data = $_POST['data'];
  //you can check like this
  if(empty($data))
  {
    echo("none received");
  }
  else{
   echo 'passed parameter '+$data;
   //in here you will receive as data in js file
you will receive in data in js as 'passed parameter+ your value'
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...