簡體   English   中英

從JavaScript將變量傳遞給PHP

[英]Pass variables to PHP from javascript

我正在嘗試獲取一個JavaScript腳本(確切地說是在Safari擴展中運行),以將許多字符串發送到服務器上的PHP腳本。 我通過構造一個包含變量的URL來使它起作用,但是我想使用POST來做到這一點,以便更加安全,以防傳遞的變量之一中帶有“&”。

有辦法嗎? 謝謝!

有兩件事:

首先,您可以使用javascript中的escape()函數通過URL安全地發送數據:

window.location="myscript.php?company=" + encodeURIComponent("Ben & Jerry's Ice Cream");

然后您可以使用urldecode()函數在PHP中解碼該值:

$company = urldecode( $_GET["company"] );

然后您將獲得與輸入的值完全相同的值。

重要的是要意識到無論通過POST還是GET發送數據,都必須對數據進行編碼。 它們的格式相同,都使用&符號分隔鍵/值對

您的第二個選擇是使用Ajax(正如許多其他人所建議的那樣)。 這樣的效果是它不會刷新頁面。 這可能或可能不行,但這將發生。

如果您不想使用Ajax調用,則第三個選擇是您可以簡單地在頁面上放置一個表單:

<form name="myform" method="POST" action="MyPhpScript.php">
    <input type="hidden" name="value1" />
    <input type="hidden" name="value2" />
</form>

然后,使用javascript設置隱藏的表單值並提交表單。

選擇你的毒葯-您有很多選擇:)

是的,您不需要使用AJAX。 您可以使用HTTP POST請求。 這基本上是HTML表單。 當然,如果您希望將數據傳遞到PHP,而無需網頁訪問者單擊某些東西,則需要使用Javascript提交表單(可能帶有隱藏元素),或使用AJAX(xmlhttprequest)。 隨意問一個更具體的問題。

一種不同的解決方案,我在我的一個項目中使用了它:使用cookie

從javascript重新加載頁面設置cookie並在php中獲取它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM