ajax form表单,前后端交互

第一json字符串定义

1 直接定义

<script>

var str ='{"name": "lili"}' ; console.log(str);------->{name: "lili"}

</script>

2存在js对象,把js对象直接转换成json字符串

var obj = {"name": "lili"}; console.log(obj);------>{"name": "lili"}-------string

var str2 = JSON.stringify(obj); console.log(str2)------->{name: "lili"}----object

第二后台传给前端json字符串,需要转换成js对象才能够使用

var obj2 = JOSN.parse(str2);  console.log(obj2);---------->{name: "lili"}---type: object

console.log(typeof obj2); -------->object

AJAX可以进行局部刷新,不加载整个页面

原生的ajax

先创建一个对象

var xhr = new XMLHttpRequest();

//get请求

xhr.open("get","/ajax?user=xiaoli&pass=111",true) //参数说明,请求方法,请求的url,是否async异步(意思就是是否选择局部进行更新)

xhr.send();

form 是浏览器发送的请求,会改变浏览器的地址;ajax 是js发送的请求不会改变浏览器的地址

//post请求,使用原生的ajax的时候必须设置请求头

xhr.open("post","/ajax",true);

xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

xhr.send("username=xiaoli&pass=111");

xhr.onreadystatechange=function{

}

第二种jq的ajax,这种推荐

<button id = "btn">提交</button>

<script scr="jauery.js"></script>

<script>

var btn = $("#btn");

btn.click(function(){

  $.ajax({  //$.ajax就是jq的ajax的写法

    "method": "get",

    "url": "/ajax",

    "data": {

      username: "xiaoli",

      pass: "111"

    },

    "success": function(data){   //data就是用来接收后台返回的数据的

      console.log("success");

      console.log(data); 

      $("#wrap").html(data); //这里是把服务端返回的数据展示到页面上  ,wrap是标签的id

    },

    "error": function(error){

      console.log("error");

      console.log(error);  //这里的error是一个对象里面有很多的属性,可以通过.打印出来

      console.log(error.statusText);

    }

  });

});

</script>

jq里面获取前端输入的用户名密码

"data": {

  username: $("#username").val(),  //这里username是input标签的id 

}

js获取值是 js.value

原文地址:https://www.cnblogs.com/wsnan/p/12875261.html