gpt4 book ai didi

php - 使用 jQuery 和 PHP 序列化和提交表单

转载 作者:IT王子 更新时间:2023-10-29 00:53:09 26 4
gpt4 key购买 nike

我正在尝试使用 jQuery 发送表单数据。但是,数据不会到达服务器。你能告诉我我做错了什么吗?

我的 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>


JavaScript(在与上述表格相同的文件中):

<script type="text/javascript">
$(document).ready(function(e) {

$("#contactForm").submit(function() {
$.post("getcontact.php", $("#contactForm").serialize())
// Serialization looks good: name=textInNameInput&&telefon=textInPhoneInput etc
.done(function(data) {
if (data.trim().length > 0) {
$("#sent").text("Error");
} else {
$("#sent").text("Success");
}
});

return false;
})
});
</script>


服务器端 PHP (/getcontact.php):

$nume = $_REQUEST["nume"]; // $nume contains no data. Also tried $_POST
$email = $_REQUEST["email"];
$telefon = $_REQUEST["telefon"];
$comentarii = $_REQUEST["comentarii"];


你能告诉我我做错了什么吗?


更新

检查 var_dump($_POST) 并返回一个空数组。

奇怪的是,在我的本地机器上测试的相同代码工作正常。如果我将文件上传到我的托管空间,它就会停止工作。我尝试在不使用 jQuery 的情况下做一个老式的表单,所有数据都是正确的。

我不明白这怎么会是服务器配置问题。有什么想法吗?

谢谢!

最佳答案

你可以使用这个功能

var datastring = $("#contactForm").serialize();
$.ajax({
type: "POST",
url: "your url.php",
data: datastring,
dataType: "json",
success: function(data) {
//var obj = jQuery.parseJSON(data); if the dataType is not specified as json uncomment this
// do what ever you want with the server response
},
error: function() {
alert('error handling here');
}
});

返回类型为json

编辑:我使用 event.preventDefault以防止浏览器在这种情况下被提交。

为答案添加更多数据。

dataType: "jsonp" 如果是跨域调用

beforeSend://这是一个预请求回调函数

complete://请求结束后要调用的函数。所以无论成功或错误都必须执行的代码可以放在这里

async://默认情况下,所有请求都是异步发送的

cache://默认为真。如果设置为 false,它将强制请求的页面不被浏览器缓存。

找官网here

关于php - 使用 jQuery 和 PHP 序列化和提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15173965/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com