使用 jQuery 和 PHP 序列化并提交表单
问题:尽管使用 jQuery 序列化表单数据,但数据未到达服务器。
HTML 表单:
<code class="html"><form id="contactForm" name="contactForm" method="post"> <input type="text" name="nume" size="40" placeholder="Nume"> <input type="text" name="telefon" size="40" placeholder="Telefon"> <input type="text" name="email" size="40" placeholder="Email"> <textarea name="comentarii" cols="36" rows="5" placeholder="Message"></textarea> <input id="submitBtn" type="submit" name="submit" value="Trimite"> </form></code>
JavaScript:
<code class="javascript">$("#contactForm").submit(function(e) { e.preventDefault(); // Prevent browser submission $.post("getcontact.php", $("#contactForm").serialize()) .done(function(data) { // Process server response }); });</code>
服务器-Side PHP (getcontact.php):
<code class="php">$nume = $_POST["nume"]; $email = $_POST["email"]; $telefon = $_POST["telefon"]; $comentarii = $_POST["comentarii"];</code>
问题解决:
问题是由于使用 $.post( 中的传输方法选项) )(在 jQuery 3.0 中已弃用)。相反,请使用带有以下设置的 $.ajax():
<code class="javascript">$.ajax({ type: "POST", url: "getcontact.php", data: $("#contactForm").serialize(), dataType: "json", success: function(data) { // Process server response }, error: function() { // Handle errors } });</code>
在此更新的代码中:
以上是为什么我的 jQuery 序列化表单数据无法到达 PHP 服务器?的详细内容。更多信息请关注PHP中文网其他相关文章!