2015-10-05 118 views
0

我需要將JavaScript對象傳遞給PHP文件,並在單擊按鈕時在瀏覽器中加載該PHP文件。如何將JavaScript變量傳遞給PHP並加載該PHP

的index.html具有下面的代碼:

<button id="1a" type="button">Click here</button> 

custom.js具有下面的代碼:

var testobject={'element1':1, 'element2':2} 

$(document).ready(function() { 

    $("#123456").click(function(event){ 
     $.post(
      "test.php", 
      testobject 
     ); 
    }); 

但我不知道寫一個PHP文件來接收這個數據。此外,我無法理解如何加載這個PHP文件。

+0

你好。您不需要在這裏單獨使用'反引號'來格式化代碼行 - 只需粘貼您的(縮進)代碼,選中它並單擊代碼按鈕即可。它根據我的編輯添加了一個塊格式。 – halfer

+0

謝謝。這是我在stackoverflow中的第一篇文章。 –

回答

0

您需要確保您的點擊事件實際上綁定到按鈕u唱正確的ID,所以

$("#1a").click(...); 
在這種情況下

。一旦你有了,點擊該按鈕將導致PHP文件發生POST,這是它將加載的地方。然後你可以用最簡單的方式訪問這些變量,如:

<?php 
$element1 = $_POST["element1"]; 
$element2 = $_POST["element2"]; 
?> 

正如其他答案所暗示的那樣。

+0

感謝您的快速響應。我糾正了這一點。但新的php文件不在瀏覽器中加載。如何使php文件在傳遞變量的同時加載到瀏覽器中。 –

+0

您正在對該文件發帖,但未顯示。可以這麼說,你正在幕後執行php腳本。如果你想顯示數據,你需要做一個正常的職位與一個HTML表單,而不是ajax調用。您也可以將您的ajax調用返回的原始html數據傳遞給頁面上的新元素。 –

0

在test.php的,您可以訪問這些變量,像這樣:

<?php 

$element1 = $_POST["element1"]; 
$element2 = $_POST["element2"]; 

echo "data loaded with ajax: " . $element1 . " and " . $element2; 
?> 

然後你可以操縱數據,並獲得信息返回到與成功回調的頁面:

<div class="ajaxtarget"></div> 

$("#1a").click(function(event){ 
    $.post("test.php", testobject,function(data){ 
     //here, data is the data returned by test.php 
     // if you want to show that content you need a target div to choose where to load it 
     $(".ajaxtarget").html(data); 
    }); 
}); 

的沒有阿賈克斯的將是:

<form method="POST" action="test.php"> 
    <input type="hidden" name="element1" value="valueyouwant"> 
    <input type="hidden" name="element2" value="valueyouwantforel2"> 
    <button id="submit" name="submit">Send</button> 

</form> 
+0

感謝您的快速響應。我用這個。但新的php文件不在瀏覽器中加載。如何使php文件在傳遞變量的同時加載到瀏覽器中。 –

+0

我更新了我的答案 – monxas

+0

非常感謝。你的支持。最後一個問題是,是否有可能將這些內容加載到新的瀏覽器頁面中,而不是在div元素內進行更新? –