AJAX - 向服务器发送请求请求

2022-11-29 21:00:39 浏览数 (1)

AJAX - 向服务器发送请求请求

XMLHttpRequest 对象用于和服务器交换数据。


向服务器发送请求

如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:

xmlhttp.open("GET","ajax_info.txt",true); xmlhttp.send();

方法

描述

open(method,url,async)

规定请求的类型、URL 以及是否异步处理请求。 method:请求的类型;GET 或 POSTurl:文件在服务器上的位置async:true(异步)或 false(同步)

send(string)

将请求发送到服务器。 string:仅用于 POST 请求

  • method:请求的类型;GET 或 POST
  • url:文件在服务器上的位置
  • async:true(异步)或 false(同步)

send(string)将请求发送到服务器。

  • string:仅用于 POST 请求

GET 还是 POST?

与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。

然而,在以下情况中,请使用 POST 请求:

  • 无法使用缓存文件(更新服务器上的文件或数据库)
  • 向服务器发送大量数据(POST 没有数据量限制)
  • 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

异步 - True 或 False?

默认情况下async是true

一.什么是同步请求:(false)

       同步请求即是当前发出请求后,浏览器什么都不能做,必须得等到请求完成返回数据之后,才会执行后续的代码,相当于是排队,前一个人办理完自己的事务,下一个人才能接着办。也就是说,当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面处于一个假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面解除假死状态(即当ajax返回数据后,才执行后面的function2)。  二.什么是异步请求:(true)        异步请求就当发出请求的同时,浏览器可以继续做任何事,Ajax发送请求并不会影响页面的加载与用户的操作,相当于是在两条线上,各走各的,互不影响。

一般默认值为true,异步。异步请求可以完全不影响用户的体验效果,无论请求的时间长或者短,用户都在专心的操作页面的其他内容,并不会有等待的感觉。

三.示例

[javascript] view plain copy

  1. // 异步
  2. var  email = "test@ptmind.com";  
  3. console.log(1);  
  4. jQuery.ajax({  
  5.     url: "/invite/sendEmailAjax.pt",  
  6.     type: "post",  
  7.     dataType: "text",  
  8.     async: true,  
  9.     data: "inviteEmails=" email,  
  10.     success: function(data){  
  11.         console.log(2);  
  12.     }  
  13. });  
  14. console.log(3);  
  15. // 结果:1->3->2

[javascript] view plain copy

  1. // 同步
  2. var  email = "test@ptmind.com";  
  3. console.log(1);  
  4. jQuery.ajax({  
  5.     url: "/invite/sendEmailAjax.pt",  
  6.     type: "post",  
  7.     dataType: "text",  
  8.     async: false,  
  9.     data: "inviteEmails=" email,  
  10.     success: function(data){  
  11.         console.log(2);  
  12.     }  
  13. });  
  14. console.log(3);  
  15. // 结果:1->2->3

AJAX - 服务器 响应


服务器响应

如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。

属性

描述

responseText

获得字符串形式的响应数据。

responseXML

获得 XML 形式的响应数据。

你真的会使用XMLHttpRequest吗?

https://segmentfault.com/a/1190000004322487

0 人点赞