通过ajax提交表单,点击按钮一次,ajax提交多次是什么原因?
答案:2 悬赏:10 手机版
解决时间 2021-12-29 23:52
- 提问者网友:龅牙恐龙妹
- 2021-12-29 15:57
通过ajax提交表单,点击按钮一次,ajax提交多次是什么原因?
最佳答案
- 五星知识达人网友:想偏头吻你
- 2021-12-29 16:53
做好防重复提交就好了。
在form内,点击button默认也是会提交表单的,不过默认的提交方式不是ajax。绑定在button上的事件是以ajax提交表单数据,所以可以看看是重复的请求是什么类型的;
如果一个是ajax请求,一个不是,则就应该是点击button的时候,默认行为和自定义行为都发生了。
如果两个都是ajax请求,则可能是button被连续点击了多次。
在form内,点击button默认也是会提交表单的,不过默认的提交方式不是ajax。绑定在button上的事件是以ajax提交表单数据,所以可以看看是重复的请求是什么类型的;
如果一个是ajax请求,一个不是,则就应该是点击button的时候,默认行为和自定义行为都发生了。
如果两个都是ajax请求,则可能是button被连续点击了多次。
全部回答
- 1楼网友:逐風
- 2021-12-29 17:32
<script type="text/javascript" >
function login(){
var username = document.getelementbyid("username").value;
var password = document.getelementbyid("password").value;
createxmlhttprequest();
var url='login';
var parameter = "username="+username+"&password="+password;
sendrequest(url,parameter,callback);
}
function callback(){
if(xmlhttp.readystate==4){
if(xmlhttp.status==200){
var rootelement = xmlhttp.responsexml.documentelement;
if(rootelement.haschildnodes()){
var nodes = rootelement.getelementsbytagname("username");
var nickname = document.getelementbyid("nickname");
nickname.innerhtml = nodes[0].firstchild.nodevalue;
nodes = rootelement.getelementsbytagname("password");
var strpassword = document.getelementbyid("strpassword");
strpassword.innerhtml = nodes[0].firstchild.nodevalue;
}
}
}
}
</script>
-----------------以下是请求的servlet
package com.briup.servlet;
import java.io.ioexception;
import java.io.printwriter;
import javax.servlet.servletexception;
import javax.servlet.http.httpservlet;
import javax.servlet.http.httpservletrequest;
import javax.servlet.http.httpservletresponse;
import com.briup.bean.logintest;
import com.briup.service.loginservice;
import com.briup.service.impl.loginserviceimpl;
public class loginservlet extends httpservlet {
public void doget(httpservletrequest request, httpservletresponse response)
throws servletexception, ioexception {
dopost(request, response);
}
public void dopost(httpservletrequest request, httpservletresponse response)
throws servletexception, ioexception {
response.setcontenttype("text/xml");
printwriter out = response.getwriter();
string username = request.getparameter("username");
string password = request.getparameter("password");
loginservice service = new loginserviceimpl();
string xml = "<message>";
try {
logintest test = service.login(username, password);
xml += "<username>"+test.getusername()+"</username>";
xml += "<password>"+test.getpassword()+"</password>";
xml += "<email>"+test.getemail()+"</email>";
xml += "<gender>"+test.getgender()+"</gender>";
xml += "<province>"+test.getprivince()+"</provice>";
xml += "<telephone>"+test.gettelephone()+"</telephone>";
xml += "<address>"+test.getaddress()+"</address>";
} catch (exception e) {
e.printstacktrace();
request.setattribute("error", e.getmessage());
}
xml+="</message>";
out.println(xml);
out.flush();
out.close();
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯