隨著網路的發展,越來越多的網站需要透過表單提交使用者資料。其中,PHP 作為一種廣泛使用的伺服器端程式語言,非常適合處理表單資料。在 PHP 中,可以透過 POST 方法來傳遞表單資料。通常情況下,POST 提交後會跳到其他頁面,但是有時我們希望在提交表單資料後,頁面不跳轉,並在同一個頁面上顯示提交結果。本文將介紹如何實作 PHP 提交 POST 請求不跳到頁面的方法。
一、使用AJAX 技術
AJAX 是Asynchronous JavaScript and XML(非同步JavaScript 和XML)的縮寫,是一種在不刷新整個頁面的情況下,透過JavaScript 後台從伺服器獲取數據的技術。因此,使用 AJAX 技術可以在不刷新頁面的情況下提交表單資料。
首先,需要在 HTML 程式碼中引入 jQuery 函式庫。 jQuery 是一個輕量級的 JavaScript 函式庫,可以大幅簡化 JavaScript 程式設計。
<script></script>
在表單標籤中新增一個 ID 屬性,以便在 jQuery 中操作表單。
在 JavaScript 中使用 jQuery 的 $.post() 方法提交表單資料。範例程式碼如下:
$(function(){ $('#myForm').submit(function(event){ event.preventDefault(); // 阻止表单默认提交 $.post('submit.php', $(this).serialize(), function(response){ // 处理服务器返回的响应数据 }); }); });
$.post() 方法接收三個參數:要提交的 URL、要提交的資料、成功時回呼函數。其中,$(this).serialize() 方法可以將表單資料序列化為一個字串,方便傳輸。
在 PHP 檔案(如 submit.php)中,使用 $_POST 超全域數組接收表單數據,處理完後傳回給客戶端。範例程式碼如下:
<?php // 处理表单数据 $response = array("status" => 1, "message" => "提交成功"); echo json_encode($response); // 将响应数据转换为 JSON 格式返回给客户端 ?>
二、使用 iframe 實作
使用 iframe 實作的方法比較簡單,可以在提交表單時建立一個隱藏的 iframe,將表單資料提交到該 iframe 中。由於表單資料是在 iframe 中提交的,因此不會改變目前頁面的 URL。最終,可以透過 JS 取得 iframe 中的回應數據,並在目前頁面中顯示。
HTML 程式碼如下:
其中,表單的 target 屬性指定了要提交到的視窗或框架。由於我們要實作不跳轉頁面,因此將 target 指定為一個隱藏的 iframe。
在submit.php 中處理表單數據,並將回應資料傳回給iframe:
<?php // 处理表单数据 $response = array("status" => 1, "message" => "提交成功"); echo "<script>parent.postMessage('" . json_encode($response) . "', '*');</script>"; // 将响应数据传递给父页面 ?>
在父頁中透過JS 監聽iframe 的load 事件,取得iframe 中的回應資料:
$(function(){ $('#iframe').on('load', function(){ var response = $(this).contents().find('body').html(); // 处理服务器返回的响应数据 }); });
總結
本文介紹了兩種實作PHP 提交POST 請求不跳轉頁面跳躍的方法,分別是使用AJAX 技術和使用iframe 實作。兩種方法各有優缺點,可以依照具體的需要選擇使用。
使用 AJAX 技術可以最大程度地避免頁面的刷新,操作流程更加流暢。但是,需要一定的 JavaScript 基礎和 jQuery 函式庫的熟悉程度。
使用 iframe 技術比較易於實現,但需要多創建一個 iframe 並且需要處理 iframe 中的回應資料。
以上是php提交post不跳頁怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文探討了有效的PHP陣列重複數據刪除。 它將內置功能與自定義hashmap方法進行比較,例如基於數組大小和數據類型的性能權衡。 最佳方法取決於Profili

本文分析了PHP陣列重複數據刪除,突出了幼稚方法的性能瓶頸(O(n²))。 它使用Array_unique()探索具有自定義功能,SplobjectStorage和Hashset實現的有效替代方案

本文使用關鍵唯一性探討了PHP陣列重複數據刪除。 雖然不是直接的重複刪除方法,但是利用鑰匙唯一性可以通過將值映射到鍵,覆蓋重複項來創建具有唯一值的新數組。 這個AP

本文使用RabbitMQ和Redis詳細介紹了PHP中的消息隊列。 它比較了它們的體系結構(AMQP與內存),功能和可靠性機制(確認,交易,持久性)。設計的最佳實踐,錯誤

本文研究了當前的PHP編碼標準和最佳實踐,重點是PSR建議(PSR-1,PSR-2,PSR-4,PSR-12)。 它強調通過一致的樣式,有意義的命名和EFF提高代碼的可讀性和可維護性

本文詳細介紹了安裝和故障排除PHP擴展,重點是PECL。 它涵蓋安裝步驟(查找,下載/編譯,啟用,重新啟動服務器),故障排除技術(檢查日誌,驗證安裝,

本文探討了針對大型數據集的優化PHP陣列重複數據刪除。 它檢查了Array_unique(),array_flip(),splobjectStorage和Pre-Sorting等技術,以比較它們的效率。 對於大量數據集,它建議塊,數據

本文解釋了PHP的反射API,可以實現運行時檢查和對類,方法和屬性的操縱。 它詳細介紹了常見用例(文檔生成,ORM,依賴注入)和針對績效垂涎的警告


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)