当前位置:   article > 正文

Ajax的Get和Post请求封装_封装一个ajax请求库实现get和post方法

封装一个ajax请求库实现get和post方法
  1. // ajax的get请求的封装
  2. ajaxGet({
  3. url:"http://10.11.55.86:3000/login",
  4. data:{
  5. username: "admin1",
  6. password: 12345
  7. },
  8. success: function(xhr){
  9. const res = JSON.parse(xhr.responseText);
  10. if( res.code === 0 ){
  11. console.log("登录成功,跳转到首页")
  12. }else{
  13. alert(res.msg);
  14. console.log(res.msg)
  15. console.log("表单已被清空,请重新输入相关信息")
  16. }
  17. },
  18. error:function(code){
  19. console.log("请求失败了", code)
  20. }
  21. });
  22. // 函数定义时,接收数据
  23. // 函数执行时,发送数据
  24. function ajaxGet( {url, data={}, success, error} ){
  25. // 解析请求时要携带的数据
  26. let str = "";
  27. for(let i in data){
  28. str += `${i}=${data[i]}&`;
  29. }
  30. // 拼接到url
  31. url += "?" + str.slice(0,-1);
  32. // 开启ajax
  33. const xhr = new XMLHttpRequest();
  34. xhr.open("get", url);
  35. xhr.send();
  36. xhr.onload = function(){
  37. if(xhr.status === 200){
  38. // 请求成功,执行成功功能
  39. success(xhr);
  40. }else{
  41. // 请求失败,执行失败功能
  42. error(xhr.status);
  43. }
  44. }
  45. }
  1. const url = "http://10.11.55.86:3000/adduser";
  2. // token
  3. // uName:用户名
  4. // tel:手机号,登录账号
  5. // 密码为手机号后6位
  6. const o = JSON.parse(localStorage.getItem("userData")) || {};
  7. ajaxPost({
  8. url,
  9. data:{
  10. token: o.token,
  11. tel:"17600901917",
  12. uName:"张三三"
  13. },
  14. success(xhr){
  15. console.log(xhr.responseText);
  16. }
  17. });
  18. function ajaxPost( {url, data={}, success, error} ){
  19. let str = "";
  20. for(let i in data){
  21. str += `${i}=${data[i]}&`;
  22. }
  23. const xhr = new XMLHttpRequest;
  24. // 1. open的第一个参数:post
  25. xhr.open("post", url, true);
  26. // 2. 修改请求头信息中的content-type类型
  27. xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  28. // 3. 发送的数据的位置:不再是url后了,而是在send的参数内
  29. // 名=值&名=值
  30. xhr.send(str.slice(0, -1));
  31. xhr.onload = function(){
  32. if(xhr.status === 200){
  33. success(xhr);
  34. }else{
  35. error(xhr.status);
  36. }
  37. }
  38. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/148023
推荐阅读
相关标签
  

闽ICP备14008679号