美文网首页
关于AJAX

关于AJAX

作者: 你想跳舞吗 | 来源:发表于2019-07-06 14:38 被阅读0次

问题描述:
比如说:我们在填写一个表单,有姓名年龄等等个人信息,当填写完毕,提交时,发现少写了一个字段,这时需要重新填写,AJAX的出现,可以实时处理响应,并不需要重新刷新页面

关于http:
一个http响应一般由三部分组成;
1.数字和文字组成的状态码,显示请求响应或者失败,例如:404,200等等
2.响应头,包含服务器的一些信息,例如服务器类型,日期时间,内容类型等等
3.响应体:响应的正文,服务器返回的字符串等等

关于XMLHttpRequest:
有两个方法,open(method,url,async),通过调用open,可以处理http请求
send(string),用open调用后通过send发到服务器,一般来说,用Get请求,所有的参数会拼到url中,所以一般不需要填写,但是用post请求的话,就必须填写参数,否则就没有意义。

获取服务器响应:
responseText:获得字符串形式的相应数据
status和statusText:以数字和文本形式返回http状态码
getAllRespinseHeader():获取所有响应报头,
getResponseHeader():查询响应中某个字段的值,需要传递参数
readyState:响应成功后得到通知,通过request.onreadystatechange 这样的事件来监听,
整个过程:

  var request = new   XMLHttpRequest();
  request.open("GET","url",true);
  request.send();
  request.onreadystatechange = function() {
    if(request.readyState === 4 && request.status === 200){
    //做一些事情
}}

但是一般来说,我们很少用原生来写,用JQ来写会大大简化操作

  $(document).raady(function(){
        $.ajax({
             type:"GET",
             url:"",
             dataType:"json",
             success:function(){  
             },
              error:function(jqXHR){
                  alert("发生错误:" +jqXHR.status);  //通过这个对象的status拿到状态码
             }
      })
})

下面是Post请求

 $(document).raady(function(){
        $.ajax({
             type:"POST",
             url:"",
             dataType:"json",
             data:{
              //需要发送的数据
            }
             success:function(){  
             },
              error:function(jqXHR){
                  alert("发生错误:" +jqXHR.status);  //通过这个对象的status拿到状态码
             }
      })
})

处理跨越:JSONP
只能支持GET请求,不支持POST请求。

 $(document).raady(function(){
        $.ajax({
             type:"POST",
             url:"",
             dataType:"jsonp",
             jsonp:'''all'
             data:{
              //需要发送的数据
            }
             success:function(){  
             },
              error:function(jqXHR){
                  alert("发生错误:" +jqXHR.status);  //通过这个对象的status拿到状态码
             }
      })
})

处理跨域二XHR2
但是XHR2不支持IE10以下版本,这时我们需要在服务器端加上header("Access-Control-Allow-Origin:");代表的是所有域名都能访问;header("Access-Control-Allow-Methods:POST,GET ");就可以实现跨域。

实例展示我会踩踩坑在下一章节展现

相关文章

  • JavaScript进阶知识点--AJAX及JSON

    AJAX 关于 AJAX 什么是 AJAX AJAX 的全称是 Asynchronous JavaScript a...

  • 2018-12-03 ajax原理及实现方式

    Ajax工作原理及实例 1、关于ajax的名字 ajax 的全称是Asynchronous JavaScript ...

  • JavaScript-ajax实践

    小练习: 题目1: ajax 是什么?有什么作用? 关于ajax AJAX即“Asynchronous JavaS...

  • Ajax实现登陆验证

    关于jquery与Ajax jQuery 提供多个与 AJAX 有关的方法。通过 jQuery AJAX 方法,能...

  • ajax实践总结

    1- 关于 ajax 及其作用 Ajax是Asynchronous JavaScript and XML的缩写。...

  • 【python】爬虫:Ajax动态渲染以及Ajax数据爬取

    ? 关于 Ajax 【简介?】:Ajax,即异步的 JavaScript XML。(全称为 Asynchrono...

  • AJAX的使用

    1、关于ajax的名字 ajax的全称是Asynchronous JavaScript and XML,其中,As...

  • ajax小结

    在开发过程中ajax是必须的,对近期在ajax的使用上的心得进行总结。 一、关于ajax AJAX = Async...

  • Ajax Axios

    关于Ajax兼容性问题 前端原生Ajax(get方式),后端使用node.js 前后端代码: 前端原生Ajax(p...

  • 关于ajax

    Ajax是什么Ajax(Asynchronous JavaScript + XML)即异步JavaScript +...

网友评论

      本文标题:关于AJAX

      本文链接:https://www.haomeiwen.com/subject/ednuhctx.html