Как мне передать ответ Ajax Json php-скрипту?

#php #json #ajax #xmlhttprequest

#php #json #ajax #xmlhttprequest

Вопрос:

У меня есть Ajax xmlHttpRequest , который получает некоторые данные с одного сервера. Мне нужно отформатировать этот ответ в строке желаемого формата и опубликовать его на другом сервере.

Я использую php-скрипт для публикации этой новой строки. Здесь, как мне передать свой ответ из Ajax-скрипта в мой php-скрипт?

Комментарии:

1. Данные поступают с помощью JavaScript, вы можете перестроить JSON в строку в JS. Чтобы отправить его в PHP-скрипт, я бы использовал вызов API. Это очень широкий вопрос, хотя, возможно, вы захотите уточнить, что у вас есть и чего вы хотите достичь.

2. Вы передаете «ajax json-ответ» php-скрипту точно так же, как выполняете любые другие вызовы ajax. Просто найдите свой любимый способ его сериализации / десериализации.

Ответ №1:

Легко.

В вашем скрипте выполните

   var url = //This is the location of your php script
  var data = "Just a string"

  $.ajax({
     url: url,
     method: "POST",
     dataType: "JSON",
     data:{
          data
       },
     success:function(response){
           console.log(response   " from server")
     },
     error:function(error){
            console.log("error, something happened"  , error )
      }
  })
  

В вашем PHP-скрипте

  <?php 

    if( $_SERVER['REQUEST_METHOD'] == "POST" amp;amp; isset($_POST['data']) ):

           $string = $_POST['data'];

          echo json_encode( "I'm returning to Javascript " . $string  )


    enif;
  

Комментарии:

1. Я использую XMLHttpRequest() для получения данных с первого сервера. Я делаю что-то вроде этого —

2. ar xmlHttp = new XMLHttpRequest(); xmlHttp.onreadystatechange = function() { if (xmlHttp.readyState == 4 amp;amp; xmlHttp.status == 200) { var response = JSON.parse(xmlHttp.responseText); //console.log(ответ); response.result.forEach(function(item) { if(item.variable === «полезная нагрузка») {console.log(‘id is: ‘, item.id ); console.log(‘Time is: ‘, item.time); newString = item.id item.time; консоль.log(‘Новая строка — это: ‘, newString ); } }); } } // xmlHttp.open(«GET», «myURL», true); // true для асинхронного xmlHttp.send(null);

3. Извините, я опубликовал его по ошибке