Javascript Ajax总结——GET请求和POST请求

1、GET请求
GET最常用于向服务器查询信息。可在URL末尾添加查询字符串参数。
XHR中,传入open()方法的URL末尾的查询字符串必须经过正确的编码,使用encodeURIComponent()编码。所有名-值对儿必须由和号(&)分隔。
如:
xhr.open("get", "test.php?name1=value1&name2=value2", true);
向URL末尾添加查询字符串参数:
 function addURLParam(url, name, value){
        url += (url.indexOf("?") == -1 ? "?" : "&");
        url += encodeURIComponent(name) + "=" + encodeURIComponent(value);
        return url;
    }
    var url = "test.php";
    //添加参数
    url = addURLParam(url, "name", "Nicholas");
    url = addURLParam(url, "hometown", "shanghai");
    //初始化请求
    xhr.open("get", url, false);

2、POST请求
POST请求向服务器发送应该被保存的数据,把数据作为请求的主体提交。
POST请求的主体可包含非常多的数据,格式不限。

默认情况下,服务器对POST请求和提交Web表单的请求会做不同的处理。
也可使用XHR来模仿表单提交
Content-Type头部信息设置为application/x-www-form-urlencoded
以适当的格式创建一个字符串
如:
xhr.open("post", "test.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var form = document.getElementById("user");
//serialize()序列化表单数据
xhr.send(serialize(form));

test.php代码:
<?php
    //设置头部信息,发送给服务器的数据出现在$_POST超级全局变量中。
    //否则,要访问同样的数据,要用$HTTP_RAW_POST_DATA
    header("Content-Type: text/plain");
    echo <<<EOF
        Name: {$_POST["username"]}
    EOF;
?>

注:POST消耗的资源比GET更多。发送相同量的数据,GET的速度最多可以比POST快一倍。


转载于:https://www.cnblogs.com/wuxxblog/p/11111441.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值