Javascript POST 無法運作:將Javascript 陣列傳送到PHP
在本文中,我們將解決嘗試傳送Javascript 時遇到的困難使用POST 方法將陣列傳送到PHP 腳本。
使用者正在利用Javascript 函數將陣列POST 到PHP 腳本:
<code class="js">function sendToPHP() { $.post("index.php", { "variable": toSearchArray }); }</code>
在PHP 腳本中,他們嘗試接收並列印陣列:
<code class="php"><?php $myval = $_POST['variable']; print_r ($myval); ?></code>
儘管做出了這些努力,數組仍未成功傳輸。應該考慮的一個潛在罪魁禍首是對 AJAX 操作方式的誤解。
由 jQuery 推動的 AJAX 不是一個自動過程。它需要結構化的實施。典型的工作流程包括:
在提供的程式碼中,客戶端腳本缺少最後一步:處理來自伺服器的回應。在本例中,PHP 腳本只是列印數組。要在客戶端顯示數組,必須處理回應並將其顯示在適當的元素中,例如 div。
以下是如何使用jQuery 實現此步驟的範例:
<code class="js">$(document).ready(function() { $('#btn').click(function() { // Get the value from the input field var txt = $('#txt').val(); // If the input field is empty, display an error if (txt == "") { alert("Enter some text"); } else { // Send the text to the server $.post('catcher.php', { 'text': txt }, function(data) { // The response is now available in the 'data' variable // Update the UI with the response $('#response').text(data.message); }, 'json'); } }); });</code>
在這個例子中,來自伺服器的回應在$.post() 方法的回調函數中進行處理,其中資料物件的message 屬性顯示在回應div 中。
它值得注意的是,雖然此範例使用文字作為發送的數據,但相同的方法可以應用於發送陣列。關鍵步驟是確保伺服器的回應得到處理並在客戶端正確顯示。
以上是為什麼我的 Javascript 陣列沒有透過 POST 傳送到 PHP?的詳細內容。更多資訊請關注PHP中文網其他相關文章!