Javascript jQueryAjax表单序列化在第一次提交时不会给出新结果
使用jquery ajax调用提交数据时遇到问题 下面是我正在使用的jquery ajax调用函数Javascript jQueryAjax表单序列化在第一次提交时不会给出新结果,javascript,php,jquery,ajax,forms,Javascript,Php,Jquery,Ajax,Forms,使用jquery ajax调用提交数据时遇到问题 下面是我正在使用的jquery ajax调用函数 $(".update-pages").bind('submit',function(){ var urlReq = "perform/update_pages.php?sbmt_change=&" +$(this).serialize(); $.ajax({ method : 'GET', url : urlReq,
$(".update-pages").bind('submit',function(){
var urlReq = "perform/update_pages.php?sbmt_change=&" +$(this).serialize();
$.ajax({
method : 'GET',
url : urlReq,
success : function(data){
alert(data);
}
});
return false;
});
HTML表单为:
<form action="perform/update_pages.php" class="update-pages" method="GET">
<input type="hidden" value="about" id="getLoc" name="about" />
<textarea name="txt" rows="20">
</textarea>
<br />
<input type="submit" class="btn btn-primary btn-lg" value="UPDATE" name="sbmt_change" />
</form>
问题:当我提交数据时,serialize()
发送textarea
中更改前的旧结果,但当我再次提交时,serialize()
发送新结果,同样的问题会一次又一次出现。偶数时间提交发送新数据,而奇数时间提交发送旧数据
如何解决此问题?您好,下面是您代码中的一些更改,请使用下面修改的代码
<form action="" class="update-pages" method="GET">
<input type="hidden" value="about" id="getLoc" name="about" />
<textarea name="txt" rows="20">
</textarea>
<br />
<input type="submit" class="btn btn-primary btn-lg" value="UPDATE" name="sbmt_change" />
$(“.update pages”).bind('submit',函数(){
$.ajax({
方法:“POST',//也使用GET
网址:'http://localhost:82/stack/get.php“,//这是文件的完整站点URL
数据:$('.update pages')。序列化(),
成功:功能(数据){
警报(数据);
}
});
返回false;
});
get.php
<?php
echo "<pre>";
print_r($_REQUEST);
?>
这是您的代码,我刚刚在我的系统中测试过,它工作正常。每次提交时,我都会得到正确的数据。
<?php
if (isset($_GET['sbmt_change'])) {
print_r($_GET);
}else{ // if not form submitted
}
?>
页面标题
$(文档).ready(函数(){
$(“.update pages”).bind('submit',function(){
var urlReq=“server.php?sbmt_change=&”+$(this.serialize();
$.ajax({
方法:“GET”,
url:urlReq,
成功:功能(数据){
警报(数据);
}
});
返回false;
});
})
服务器端代码:
为什么要声明urlReq
两次?能否向我们展示处理此数据的PHP代码您正在使用的jQuery版本是什么?看起来他已经把问题抛到一边去吃午饭了。怎么annoying@RiggsFolly是的,请回答我为PHP代码编辑的问题。OP显然是个初学者。建议他们修改代码,在端口82上使用localhost
站点,但他们的代码没有引用域或端口号,这只是误导,不要只是将你的代码作为答案!感谢您的帮助,但这将返回另一个HTML页面的数据,并且不会解决我的问题problem@RiggsFolly这个代码有什么问题?它在我的系统上运行良好。我在回答之前已经测试过了,所以你最好发布其他答案,而不是给出其他答案的意见和评分。谢谢你的建议。但它给我的问题,而奇数时间提交。
<?php
echo "<pre>";
print_r($_REQUEST);
?>
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$(".update-pages").bind('submit',function(){
var urlReq = "server.php?sbmt_change=&" +$(this).serialize();
$.ajax({
method : 'GET',
url : urlReq,
success : function(data){
alert(data);
}
});
return false;
});
})
</script>
</head>
<body>
<form action="server.php" class="update-pages" method="GET">
<input type="hidden" value="about" id="getLoc" name="about" />
<textarea name="txt" rows="20">
</textarea>
<br />
<input type="submit" class="btn btn-primary btn-lg" value="UPDATE" name="sbmt_change" />
</form>
</body>
</html>
<?php
if (isset($_GET['sbmt_change'])) {
print_r($_GET);
}else{ // if not form submitted
}
?>