• post和get的区别[AJAX]


    post和get的区别

    GET方法采用URL传值,POST采用FORM传值。

    1、Get 方法通过 URL 请求来传递用户的数据,将表单内各字段名称与其内容,以成对的字符串连接,置于 action 属性所指程序的 url 后,如http://localhost/test.asp?name=admin&password=admin,数据都会直接显示在 url 上,就像用户点击一个链接一样;Post 方法通过 HTTP post 机制,将表单内各字段名称与其内容放置在 HTML 表头(header)内一起传送给服务器端交由 action 属性能所指的程序处理,该程序会通过标准输入(stdin)方式,将表单的数据读出并加以处理

    2、 Get 方式需要使用 Request.QueryString 来取得变量的值;而 Post 方式通过 Request.Form 来访问提交的内容

    3、Get 方式传输的数据量非常小,一般限制在 2 KB 左右,但是执行效率却比 Post 方法好;而 Post 方式传递的数据量相对较大,它是等待服务器来读取数据,不过也有字节限制,这是为了避免对服务器用大量数据进行恶意攻击,根据微软方面的说法,微软对用 Request.Form() 可接收的最大数据有限制,IIS 4 中为 80 KB 字节,IIS 5 中为 100 KB 字节

    建议:除非你肯定你提交的数据可以一次性提交,否则请尽量用 Post 方法

    4、Get 方式提交数据,会带来安全问题,比如一个登陆页面,通过 Get 方式提交数据时,用户名和密码将出现在 URL 上,如果页面可以被缓存或者其他人可以访问客户这台机器,就可以从历史记录获得该用户的帐号和密码,所以表单提交建议使用 Post 方法;Post 方法提交的表单页面常见的问题是,该页面如果刷新的时候,会弹出一个对话框

    建议:出于安全性考虑,建议最好使用 Post 提交数据

    Ajax用Post模式传送数据.需注意
    1.设置header的Context-Type为application/x-www-form-urlencode确保服务器知道实体中有参数变量.通常使用XmlHttpRequest对象的
    SetRequestHeader("Context-Type","application/x-www-form-urlencoded");
    2.参数在Send(参数)方法中发送

    <form method="post" action="test" onsubmit="sendRequest();return false">*/
    function getRequestBody(oForm){
    var aParams=new Array();
    for(var i=0;i<oForm.elements.length;i++){
    var sParam=encodeURIComponent(oForm.elements[i].name);
    sParam+="=";
    sParam+=encodeURIComponent(oForm.elements[i].value);
    sParams.push(sParam);
    }
    return aParams.join("&");
    }
    function sendRequest(){
    var oForm=document.forms[0];
    var sBody=getRequestBody(oForm);
    var oXmlHttp=createRequest();
    oXmlHttp.open("post",oForm.action,true);
    oXmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    oXmlHttp.onreadystatechange=function(){
    if(oXmlHttp.readyState==4){
    if(oXmlHttp.status==200){
    saveResult(oXmlHttp.responseText);
    }
    else{
    saveResult("An error accurred: "+oXmlHttp.statusText);
    }
    }
    }
    oXmlHttp.send(sBody);
    }
    function createRequest(){}
    function saveResult(response){}

  • 相关阅读:
    移动端前端开发模型
    swift中高阶函数map、flatMap、filter、reduce
    函数式编程-构建
    Swift 4.0:访问级别(访问控制)
    swift内存管理
    swift where 的作用
    Swift 中的协议
    swift语言点评二十一-协议
    swift语言点评二十-扩展
    swift 20
  • 原文地址:https://www.cnblogs.com/backuper/p/1307807.html
Copyright © 2020-2023  润新知