2012-02-02 181 views
0

我是一個noob,所以希望你能幫助!將jquery值傳遞給php變量

我有以下的jQuery代碼:

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

然後,它顯示我想要的頁面上的HTML中的值:

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

我想什麼是傳遞價值到一個PHP變量,我可以使用MySQL查詢中的信息。 我該怎麼做?這是在WordPress所以沒有單獨的文件

感謝

+0

超級模糊,到底是什麼在POST_ID?你傳遞給PHP的是什麼? – 2012-02-02 16:58:30

回答

1

你需要使用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

感謝您的回覆。我不確定我會如何使用它。有更容易的方法嗎?洛爾 – 2012-02-02 17:04:07

+0

這部分是由你:) – AlienWebguy 2012-02-02 17:05:30

+0

這是我的代碼 不知道這是否有幫助? – 2012-02-02 17:07:03

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>