установить ответ ajax на переменную php - PullRequest
1 голос
/ 27 апреля 2011

у меня 2 страницы javascript.js и php.php

На моей странице javascript.js я получаю ответ ajax, подобный этому

$j(document).ready(function() { 
    $j('#button').click( function () {              
       var data = {
        _method  :   'POST',
        'd[0][1]':    $j('#div').val(),
       };                                            
       $j.post('/path/file',  data,  function(response) {   
          var response = respone
       });
    });  
});

на моей странице php я хочу установить переменную $response для ответа ajax. Как бы я это сделал

Ответы [ 5 ]

1 голос
/ 27 апреля 2011

См .: http://api.jquery.com/jQuery.post/

$.ajax({
  type: 'POST',
  url: url,
  data: data,
  success: success
  dataType: dataType
});

Вам необходимо указать возвращаемый dataType.Пример:

$.ajax({
  type: 'POST',
  url: '/my_url',
  data: data,
  success: function( response_data ){
    alert( response_data.variable1 );
  },
  dataType: "json"
});

Затем в php:

$my_array = array(
    'variable1' => 1,
    'variable1' => 2
);
header( 'Content-Type: application/json' );
echo json_encode($my_array);
exit();

HTH

0 голосов
/ 27 апреля 2011

Полагаю, я должен упомянуть об этом, если бы вы были новичком в ajax или php, и это то, что вы имели в виду.

Если в php-скрипте, который вы вызываете через ajax, есть переменная $response, и все, что вам нужно сделать, это отправить содержимое этой переменной обратно в качестве ответа ajax - просто убедитесь, что нет других выходных данных, предшествующих этим строкам ( в вашем PHP-скрипте) и используйте

echo $response;
die;
0 голосов
/ 27 апреля 2011

Php на стороне сервера, а Javascript на стороне клиента ... Вы не можете установить переменную PHP из ajax на странице, которую вы уже загрузили. Что вы можете сделать, это вызвать другую страницу PHP с соответствующей информацией, а затем получить сгенерированный html и показать его на текущей странице.

Вот как работает Ajax.

0 голосов
/ 27 апреля 2011

В вашем /path/file:

<?php
$response = $_POST["your_post_variable"];
echo "'$response' has been set.";
?>

Очиститель JS:

$j(document).ready(function() { 
    $j("#button").click(function () {   
        var data = { _method: "POST", "d[0][1]", $j("#div").val() };                                            

        $j.post("/path/file",  data,  function(response){
            alert(response);
        });
    });
});
0 голосов
/ 27 апреля 2011

Попробуйте echo json_encode ($ variable);

Также попробуйте использовать метод jQuery $ .ajax.

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