Skip to main content

了解Ajax及Ajax如何发送请求

了解Ajax及Ajax如何发送请求 - Hi friends, I hope you are all in good healthkanakoroku, In the article you are reading this time with the title 了解Ajax及Ajax如何发送请求 , We have prepared this article well for you to read and take information in it. hopefully the contents of the post what we write you can understand. ok, happy reading.

Title : 了解Ajax及Ajax如何发送请求
link : 了解Ajax及Ajax如何发送请求

Baca juga


了解Ajax及Ajax如何发送请求

  由于JavaScript能力有限,它所提供的API都只停留在单机阶段。这样会造成一些功能无法实现,如:无法实现用户登录时,用户在输入用户账户时显示用户对应的头像;无法实现用户注册时,用户输入账号或用户名时提示是否存在;无法实现在留言板功能看到最新的用户留言。

  上述这些问题的共同点就是:数据存放在服务端,无法通过已知的API获取。而Ajax的出现就解决了这些问题。

  已知的发送请求的方式,就是在地址栏输入地址,回车刷新,对特定的元素的href或src属性,表单的提交,使用ajax通过JavaScript直接发送网络请求,对服务器发出请求并接受服务端返回的响应,这样实现的功能会更多,不再是单机游戏。

此时Ajax的出现就解决了这些问题

这里展示一套原生Ajax发送请求步骤

//发送ajax请求步骤 //1 创建一个

发送Ajax请求步骤:

①创建

②准备发送,打开与一个网址之间的连接

③执行发送动作

④指定xhr状态变化事件处理函数

本质上
  • open()方法开启请求,xhr.open(请求方法.url)

    • 发送请求方式有:get、post、delete、put

      • get 请求,获取或查询数据,在get请求中,参数的传递是直接在url上通过 ' ? '进行参数传递的;get请求时,无需设置响应体。

      • post 请求,post请求中,使用请求体来承载需要提交的数据,与get请求相比更安全;post请求需要设置请求头Content-Type,便于服务端接收数据。

      • put 请求,更新数据请求

      • delete 请求,删除数据请求

      • xhr.open()方法还有第三个参数,第三个参数要求传入的是一个布尔值,作用就是设置此次请求是否采用异步方式执行。默认值是true,表示异步,false是同步执行。这里不建议同步执行,否则代码会卡死在send()这一步。

        【关于,同步与异步的理解:

        • 同步就是一个人在做一件事时,同一个时刻只能做一件事,做完这件才能做下件事,其他事情只能等待;

        • 异步就是一个人在做一件事时不需要等待这件事完成,可以做其他事。】

    • setRequestHeader()方法设置请求头,这个方法必须在open()和send()之间调用。xhr.setRequestHeader(header,value);

      其中:
      ​   header一般都设置为 "Content-Type",传输数据类型,服务器需要传输的数据类型;

      ​   value则是具体的数据类型,常用"application/x-www-form-urlencode" 和 "application/json"

  • send()方法发送请求,用于发送HTTP请求,xhr.send(数据体),数据体是根据请求头中的类型进行传参;如果是get方法,无需设置数据体,你可以传null或者不传参。

    【通常为了确定事件一定会触发,在发送请求send()之前,一定先注册readystatechange,这样不论是同步还是异步都能触发成功】

  • readyState属性返回一个

    readyState状态描述说明
    0UNSENTxhr被创建,但还未调用open()方法;(初始化)
    1OPENEDopen()方法被调用,建立连接;(建立连接)
    2HEADERS_RECEIVEDsend()方法被调用,获取到了状态行和响应头;(接收到响应头)
    3LOADING响应体下载中,部分数据已经在responseText中了;(响应体加载中)
    4DONE响应体下载完成,可以直接使用responseText了;(加载完成)

    一般情况下,在readyState值为4时,执行响应的后续逻辑,如:一些事件函数等。
    xhr.onreadystatechange = function(){
      if(this.readyState == 4){
        //后续的逻辑.......
      }
    }









原文转载:http://www.shaoqun.com/a/720761.html

跨境电商:https://www.ikjzd.com/

跨境通电子商务平台:https://www.ikjzd.com/w/1329.html

3suisses:https://www.ikjzd.com/w/412


由于JavaScript能力有限,它所提供的API都只停留在单机阶段。这样会造成一些功能无法实现,如:无法实现用户登录时,用户在输入用户账户时显示用户对应的头像;无法实现用户注册时,用户输入账号或用户名时提示是否存在;无法实现在留言板功能看到最新的用户留言。  上述这些问题的共同点就是:数据存放在服务端,无法通过已知的API获取。而Ajax的出现就解决了这些问题。  已知的发送请求的方式,就是在地
慧聪商务网:https://www.ikjzd.com/w/1836
zappos:https://www.ikjzd.com/w/330
飞书互动:https://www.ikjzd.com/w/1319.html
口述:不能娶情人 她另结新欢:http://lady.shaoqun.com/m/a/273411.html
不要低估疫情对中国经济的影响,密切关注中小企业生存困境:https://www.ikjzd.com/home/115359
Anker售后小卡片分享给大家,赚点小积分哈:https://www.ikjzd.com/tl/3187


That's the article 了解Ajax及Ajax如何发送请求

That's it for the article 了解Ajax及Ajax如何发送请求 this time, hopefully can be useful for all of you. okay, see you in another article post.

You are now reading the article 了解Ajax及Ajax如何发送请求 with link address https://kanakoroku.blogspot.com/2021/05/ajaxajax.html

Comment Policy: Please write your comments that match the topic of this page post. Comments containing links will not be displayed until they are approved.
Open Comments
Close Comment