ajax的用法

原生JS中-----例子

1.1 get

/* 1 创建xhr*/
var xhr = new XMLHttpRequest();
/*2 打开连接 */
xhr.open("GET", "./dem.text", false);
/* 3监听状态 */
xhr.onreadystatechange = function() {
if (xhr.status == 200 && xhr.readyState == 4) {
content.innerHTML = xhr.responseText;
console.log(xhr.responseText)
}
}

/* 4. 发送 */
	xhr.send();

1.2 post

xhr.setRequestHeader(‘Content-Type’, ‘application/x-www-form-urlencoded’),这个的目的是告诉服务器端该请求是一个post请求,防止被服务器认为是get而报错。

			var xhr = new XMLHttpRequest();
			var name = document.getElementById("name").value;
			var age = document.getElementById("age").value;
			var xhr = new XMLHttpRequest();
			xhr.open("post", "http://520mg.com/ajax/echo.php");
			xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			xhr.onreadystatechange = function() {
				if (xhr.status == 200 && xhr.readyState == 4) {
					content.innerHTML = xhr.responseText;
					console.log(xhr.responseText)
				}
			}
			xhr.send("name=mumu&age=18");

jquery中的ajax

2.1 上层ajax

2.1.1 load() 用于加载html

		//目标 : 单击加载be.html    neirong放在con中
		$(function(){
			$("#btn1").click(function(){
				$(".con").load("./be.html ")
				// $(".con").load("./be.html .content")
			})
		})

2.1.2 $.getScript() 加载js

		$(function(){
			$("#btn2").click(function(){
				$.getScript("./script.js");//执行script.js的内容
			})
		})

2.1.3 $.getJSON() 加载json

		//单击按钮 加载be.json   放入con2中
		$(function(){
			$("#btn3").click(function(){
				$.getJSON("./be.json",function(data,status,xhr){
					console.log(data,status,xhr);
					// data be.json  里面的数据
					// status 状态  success  成功
					// xhr 封装好的jquery  xhr对象
					// JSON.stringify  把js对象转换字符串
					$(".con2").text(JSON.stringify(data));
				})
			})
		})

2.2 中层ajax

2.2.1 $.get()

  • done fail always

      $(function() {
          $("button").click(function() {
              $.get("./be.txt").done(res => {
                  $(".con").text(res);
              }).fail(err => {
                  console.log(err)
              }).always(xhr => {
                  console.log("成功失败都执行", xhr);
              })
    
          })
      })
    
  • 普通方法

        $("button").click(function() {
          $.get("./be.txt", function(data, status, xhr) {
               if (status == "success") {
                  $(".con").text(data);
              }
          })
       })
    
  • then catch

    $(function() {
            $("button").click(function() {
                $.get("./be.txt").then(res => {
                    $(".con").text(res);
                }).catch(err => {
                    console.log(err)
                })
    
            })
        })
    
    
  • 2.2.2 $.post()

 	$(function() {
            $("#btn").click(function() {


                $.post("https://www.520mg.com/ajax/echo.php", `name=${$("#name").val()}&age=${$("#age").val()}`)
                    .then(res => {
                        $(".con").text(res);
                    }).catch(err => {

                        console.log(err);
                    })
            })

        })

3.3 底层ajax

	mui.ajax('url',{
		data:{	
			},
			dataType:'json',//服务器返回json格式数据
			type:'post',//HTTP请求类型
			timeout:10000,//超时时间设置为10秒;
			success:function(data){
				
			},
			error:function(xhr,type,errorThrown){
				
			}
		});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值