zoukankan      html  css  js  c++  java
  • GET和POST

    Ajax与Comet

    1. Ajax Asynchronous Javascript+xml :能够向服务器请求额外的数据而无需卸载页面。

    Ajax技术的核心是XMLHttpRequest 对象(简称XHR),由微软引入。

    Get请求:

    最常见的请求类型,最常用于向服务器查询某些信息。必要时,可以将查询字符串参数追加到URL的末尾,以便将信息发送给服务器。使用Get请求经查会发生一个错误,就是查询字符串的格式有问题。查询字符串中每个参数的名称和值都必须使用encodeURIComponent()进行编码,然后才能放到URL的末尾,而且所有的名-值对儿都必须由和号(&)分隔,如下所有:

    xhr.open("get","example.php?name1=value1&name2=value2",true);

    POST请求:

    通常用于向服务器发送应该被保存的数据。POST请求应该把数据作为请求的主体提交,而Get请求传统上不是这样。POST请求的主体可以包含非常多的数据,而且格式不限。

    默认情况下,服务器对POST请求和提交Web表单的请求并不会一视同仁。因此,服务器必须有程序来读取发送过来的原始数据,并从中解析出有用的部分。不过,我们可以使用XHR来模仿表单提交。首先将content-type头部信息设置为application/x-www-form-urlencoded,也就是表单提交时的内容类型,其次是以适当的格式创建一个字符串。如果不设置content-Type头部信息,那么发送给服务器的数据就不会出现在$_POST这个全局变量中。这时候,要访问同样的数据,就必须借助$HTTP_RAW_POST_DATA.

    与GET请求相比,POST请求消耗的资源会更多一些。从性能角度看,以发送相同的数据计,GET请求的速度最多可以达到POST请求的两倍。

    XMLHttpRequest2 级定义了FormData类型。FormData为序列化表单以及创建与表单格式相同的数据(用于通过XHR传输)提供了便利。下面的代码创建了一个FormData对象,并向其中添加了一些数据。

    var data=new FormData();

    data.append("name","Nicholas");

    使用FormData的方便之处体现在不必明确地在XHR对象上设置请求头部。XHR对象能够是被传入的数据类型是FormData的实例,并配置适当的头部信息。

  • 相关阅读:
    postgresql----UNION&&INTERSECT&&EXCEPT
    postgresql----JOIN之多表查询
    postgresql----ANY/SOME&&ALL
    在页面获取本地电脑IP
    redis-Jedis连接集群
    redis-存储命令
    redis-启用命令
    springboot-整合freemarker
    springboot-发布jar包
    springboot-实现log4j的AOP切面
  • 原文地址:https://www.cnblogs.com/xuezhi/p/4814011.html
Copyright © 2011-2022 走看看