передать значение jquery в переменную php - PullRequest
0 голосов
/ 02 февраля 2012

Я новичок, поэтому надеюсь, что вы можете помочь!

У меня есть следующий код jquery:

$("#single-home-container").html(post_id);

Затем он отображает значение, которое я хочу, в HTML на странице:

<div id="single-home-container"></div>

Я хотел бы передать значение в переменную PHP, чтобы я мог использовать информацию в запросе MySQL.Как мне это сделать?Это в WordPress, поэтому нет отдельных файлов

Спасибо

Ответы [ 2 ]

1 голос
/ 02 февраля 2012

Вам нужно будет использовать ajax.Примерно так:

JQuery:

$('.locationID').click(function(){ 
    var post_id = $(this).attr('rel'),
        $container = $("#single-home-container");
        old_html = $container.html();

    $container.html('loading...');
    $.ajax({
        url : '/path/to/php/file.php',
        data:{"post_id":post_id},
        type: 'post',
        dataType: 'json',
        success: function(data){
            $container.html(data.postBody);
        },
        error: function(data){
            // possibly notify the user of the error
            $container.html(old_html);
        }
    });
});

Предполагается, что в вашей таблице сообщений есть поле с именем postBody

PHP

<?php
    header('Content-type: application/json');
    // $query_result = do mysql query with $_POST['post_id']
    echo json_encode($query_result);
    exit();
?>

Этопредполагается, что вам нужны все поля и вы возвращаете все поля, включая postBody - и, конечно, у вас есть PHP 5.2.6+ или любая другая версия, которую они добавили json_encode().

0 голосов
/ 02 февраля 2012

Вы можете использовать jQuery.post () или jQuery.ajax () .

Вот несколько примеров:

<script>
    $.post("test.php", { "func": "getNameAndTime" },
     function(data){
       console.log(data.name); // John
       console.log(data.time); //  2pm
     }, "json");
</script>

<script>
$.ajax({
  url: "test.html",
  context: document.body,
  success: function(){
    $(this).addClass("done");
  }
});
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...