0

我是菜鸟,所以希望你能提供帮助!

我有以下 jquery 代码:

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

然后它会在页面的 HTML 中显示我想要的值:

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

我想要的是将值传递给 PHP 变量,以便我可以在 MySQL 查询中使用该信息。我该怎么做?它在 WordPress 中,所以没有单独的文件

谢谢

4

2 回答 2

0

你需要使用ajax。像这样的东西:

查询:

$('.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()

于 2012-02-02T16:57:16.917 回答
0

您可以使用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>
于 2012-02-02T16:59:18.147 回答