jQuery-数据提交(表单与Ajax Post)
我对其他开发者关于发布数据的意见和想法感兴趣: 本机HTML:jQuery-数据提交(表单与Ajax Post),jquery,post,form-submit,Jquery,Post,Form Submit,我对其他开发者关于发布数据的意见和想法感兴趣: 本机HTML: vs jQuery:jQuery.post(),或$.ajax() 目前,我出于不同的原因使用这两种方法,就我个人而言,我以各自的方式享受这两种方法 我已经注意到jQuery路线在随机情况下的细微差别,这就是为什么我要征求意见的原因 我会尽力解释我在做什么。 但基本上(在特定的表单页面上),我使用jQuery禁用提交,并在不重新加载浏览器的情况下发布表单数据 有时是这样的: http://myurl.com/simple_form.
vs
jQuery:jQuery.post()
,或$.ajax()
目前,我出于不同的原因使用这两种方法,就我个人而言,我以各自的方式享受这两种方法
我已经注意到jQuery路线在随机情况下的细微差别,这就是为什么我要征求意见的原因
我会尽力解释我在做什么。
但基本上(在特定的表单页面上),我使用jQuery
禁用
提交,并在不重新加载浏览器的情况下发布表单数据
有时是这样的:
http://myurl.com/simple_form.php?formid=myemailFORM&email1=blah@blah.yo&email2=blah@blah.ma
simple_form.php
<form class="checkMyForm" id="myemailFORM">
<input name="email1" type="text" value="blah@blah.yo" />
<input name="email2" type="text" value="blah@blah.ma" />
<input type="submit" name="button" value="submit" />
</form>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$("form.checkMyForm").on('submit', function(){
// do some stuff here (validation, clean-ups, who knows what else....)
// stop if problems are detected:
return false;
// if good to go, use ajax(), for this page:
var formid = $(this).attr("id"); // #myemailFORM
var formvaluesSerialized = $(this).serialize(); // key=val&key=val
$.ajax({
url:"simple_form.php", // stay on current page (php code is listening)
data:"formid="+formid+"&"+formvaluesSerialized,
type:"POST",
cache:false,
error:function(x,t,m){ /* alerts, logs, maybe freak out here */ },
success:function(response){
/* do stuff here, and never redirect
use the "response" for any reason I'd like
*/
}
}); //eof ajax()
return false; // ensure the html form still does not submit
}); //eof on()
});
</script>
我只需更改url:[,然后重新提交,jQuery不需要重新加载浏览器,数据被发布,一切都很好。(所以它是随机的、稀疏的)
这会发生在任何人身上吗?或者说浏览器有时会在自己的时间里用JavaScript出错,这是安全的吗
想法?通常,每当我们需要将客户机提交的数据传递给服务器时,就会使用
$\u POST
方法,之后我们希望在服务器处理数据时向客户机呈现更新的页面(或完全不同的页面)
至于AJAX,当我们希望客户端将一些数据传递给服务器,同时保持客户端在同一页面上,并在服务器响应时仅更新该页面的一部分时,通常使用AJAX
在您的情况下,根据您的URL:
http://myurl.com/simple_form.php?formid=myemailFORM&email1=blah@blah.yo&email2=blah@blah.ma
提交了一个$\u-GET
请求-当我们希望客户端从服务器请求一些数据时,通常使用该请求。您可以将$\u-GET
请求与$\u-POST
请求区分开来,因为在使用$\u-GET
时,URL将具有?…&…
结构
可能在您看到这个$\u GET
请求的情况下,您将表单方法指定为GET:
<form class="checkMyForm" id="myemailFORM" method="GET">
wh..wha..wha..wha..wha..wha..wha..wha..wha..wha..wha..wha..wha..wha..wha..wha..wha..wha..wha..wha..wha..wha..wha..wha..wha..wha..wha..wha...你在使用什么浏览器?我从来没有遇到过这种情况。使用该url的原因是因为将GET
e
),然后调用e.preventDefault()
在开始时正确-这将始终抑制默认行为,即使函数的后续部分失败,也允许您检查控制台中的错误。