原始ajax post表单

前端之家收集整理的这篇文章主要介绍了原始ajax post表单前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

ajax中使用post 方式提交表单时能提交多达2GB的内容,而GET方法只能提交最多512KB的内容.以下是ajax POST提交的例子.

[c-sharp] view plain copy
  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <htmlxmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>AjaxPOST方法提交表单</title>
  5. <mce:scripttype="text/javascript"><!--
  6. window.onerror=function(errorMessage,errorUrl,errorNum)
  7. {
  8. alert(errorMessage+errorUrl+errorNum);
  9. }
  10. varxmlHttp;
  11. functioncreateXmlHttp()
  12. {
  13. if(window.ActiveXObject)
  14. xmlHttp=newActiveXObject("Microsoft.XMLHTTP");
  15. else
  16. newXMLHttpRequest();
  17. functionstartRequest()
  18. try
  19. createXmlHttp();
  20. varurl="ajax_post.ashx";
  21. varpostedData=getRequestBody(document.forms["form1"]);
  22. xmlHttp.open("post",url,true);
  23. xmlHttp.setRequestHeader("content-length",postedData.length);//post提交设置项
  24. xmlHttp.setRequestHeader("content-type","application/x-www-form-urlencoded");//post提交设置项
  25. xmlHttp.onreadystatechange=onComplete;
  26. //将名值对发送到服务器
  27. xmlHttp.send(postedData);
  28. }
  29. catch(e)
  30. alert(e.message);
  31. functiononComplete()
  32. if(xmlHttp.readyState==4&&xmlHttp.status==200)
  33. //显示结果
  34. document.getElementById("divResult").innerText=xmlHttp.responseText;
  35. //获取表单中的名值对
  36. functiongetRequestBody(oForm)
  37. varaParams=newArray();
  38. for(vari=0;i<oForm.elements.length;i++)
  39. varsParam=encodeURIComponent(oForm.elements[i].id)
  40. sParam+="=";
  41. sParam+=encodeURIComponent(oForm.elements[i].value);
  42. aParams.push(sParam);
  43. returnaParams.join("&");
  44. //--></mce:script>
  45. </head>
  46. <body>
  47. <formid="form1">
  48. 要提交的字段落1:
  49. <inputid="Text1"type="text"/><br/>
  50. 要提交的字段落2:
  51. <inputid="Text2"type="text"/>
  52. <br/>
  53. <inputid="Button1"type="button"value="POST提交"onclick="startRequest();"/><divid="divResult"></div></form>
  54. </body>
  55. </html>

服务器端处理代码(ajax_post.ashx):

copy

    <%@WebHandlerLanguage="C#"Class="ajax_post"%>
  1. usingSystem;
  2. usingSystem.Web;
  3. publicclassajax_post:IHttpHandler{
  4. voidProcessRequest(HttpContextcontext)
  5. context.Response.ContentType="text/plain";
  6. context.Response.Write(String.Format("你输入的值是{0}和{1}!",context.Request.Form["Text1"],context.Request.Form["Text2"]));
  7. boolIsReusable
  8. get{
  9. returnfalse;
  10. }

猜你在找的Ajax相关文章