记住一句话:凡事能发送url请求的,都是客户端!Ajax就是基于这个原则!
而post也只是url请求中的一种请求方式,这种方式不会在url栏显示!
若客户端请求的是静态页面,那么请求到达服务器端就直接返回静态页面了。若是请求的是php文件,那么,就交给php解释器,进行处理后,可能执行数据库操作,之后才会返回结果!
Ajax就是利用JavaScript写的脚本,将浏览器发送的请求由自身转发给服务器,再接受服务器的返回结果,告诉浏览器,这样,浏览器就不用刷新了,用户体验很好。(记住,只要能发送url的都可以当做客户端。因此,Ajax可以理解为浏览器的一种特殊的代理。)
浏览器向服务器发送请求,在服务器没有响应之前,浏览器又可以发送第二个请求,这时候,如果第一个响应到了,那么浏览器就会处理第一个响应,而此时服务器可能在处理第二个请求。这样同一时间,浏览器和服务器再处理不同次数的请求就是异步!
同步则是浏览器发送第一个请求,服务器处理完,给出响应。然后,浏览器才发送第二个请求,服务器再去处理第二个请求,最后给出响应。这个就是同步。
这几个方法中,最重要的也是最常用的就是最上面三个。
setRequestHeader()必须要在open和send之间
现在能看懂了了。幸亏以前学过一点JavaScript。里面的console.log()作用居然是将日志记录到控制台,有意思。之前不知道这个函数的作用,现在明白了。
若改成post请求,则要做下面的修改
对了,还有一个重点,就是为了防止submit按钮自身起作用,return false就可以了。很巧妙!
后台PHP代码