ajax,jsonp,axios面试题

简介: ajax,jsonp,axios面试题

什么是前后端联调?


react中axios跨域的配置

const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function (app) {
  app.use(
    // https://home-api.pinduoduo.com/home/mediareports?page_number=1&page_size=20
    '/home', createProxyMiddleware({
      // 目标地址
      target: 'https://home-api.pinduoduo.com/',
      // 修改原地址
      changeOrigin: true,
    })
  );
};


vue中axios跨域的配置

……


如何取消axios


source


cancel: ƒ cancel(message)

token: CancelToken {promise: Promise, reason: Cancel}

react-hooks小例子

let [source, setSource] = useState(axios.CancelToken.source())// 这里初始化source对象
  useEffect(() => {
    axios.get('/home/mediareports', {
      cancelToken: source.token, // 这里声明的cancelToken其实相当于是一个标记,
              // 当我们要取消请求的时候,可以通过这个找到该请求
      params: {
        page_number: 1,
        page_size: 20
      }
    }).then(res => {
     // 你的逻辑
      console.log(res.data.data)
    }).catch(err => {
       // 如果调用了cancel方法,那么这里的res就是cancel传入的信息
       // 你的逻辑
       throw(err)
    })
  }, [])
  const CancelAxios = () => {
    source.cancel('这里你可以输出一些信息,可以在catch中拿到')
  }


如何取消ajax


var xhr = new XMLHttpRequest();
  xhr.onreadystatechange = function () {
    if (xhr.readyState == 4 && xhr.status == 200) {
      console.log(xhr.response);
    } else {
      console.log(xhr.status);
    }
  }
  xhr.open("GET", "https://api.github.com/");
  xhr.send();
  // 取消之前 {………………}
  xhr.abort();  //0


fatch(关注分离的设计思想)


缺点:兼容性不高,老版本浏览器不支持  


特点:原生函数,不在使用xmlHttpRequest对象提交ajax请求


axios常用的5中请求方法


get:获取数据


post:提交数据(表单提交+文件上传)


put:更新数据(所有数据推送到后端)


patch:更新数据(只将修改的数据推送到后端)


delete:删除数据

相关文章
|
6月前
|
JSON 前端开发 JavaScript
axios请求成功而$.ajax却不行排错
axios请求成功而$.ajax却不行排错
59 2
|
6月前
|
负载均衡 前端开发 搜索推荐
Axios 和 Ajax 的区别
Axios 和 Ajax 的区别
|
6月前
|
JSON 前端开发 JavaScript
Vue3 Ajax(axios)
Vue3 Ajax(axios)
|
4月前
|
存储 监控 安全
ajax面试题总结
ajax面试题总结
42 1
|
1月前
|
XML 前端开发 JavaScript
详解Ajax与axios的区别
详解Ajax与axios的区别
|
1月前
|
XML 前端开发 JavaScript
Ajax&Axios对比
【10月更文挑战第3天】
27 3
|
2月前
|
JSON 资源调度 JavaScript
Vue框架中Ajax请求的实现方式:使用axios库或fetch API
选择 `axios`还是 `fetch`取决于项目需求和个人偏好。`axios`提供了更丰富的API和更灵活的错误处理方式,适用于需要复杂请求配置的场景。而 `fetch`作为现代浏览器的原生API,使用起来更为简洁,但在旧浏览器兼容性和某些高级特性上可能略显不足。无论选择哪种方式,它们都能有效地在Vue应用中实现Ajax请求的功能。
41 4
|
2月前
|
JSON 前端开发 JavaScript
JavaWeb基础8——Filter,Listener,Ajax,Axios,JSON
Filter过滤器、Listener监听器、AJAX、 同步、异步优点和使用场景、Axios异步框架、JSON、js和JSON转换、案例,Axios + JSON 品牌列表查询和添加
JavaWeb基础8——Filter,Listener,Ajax,Axios,JSON
|
3月前
|
XML 前端开发 JavaScript
Ajax、Fetch、Axios
Ajax、Fetch、Axios
78 25
|
4月前
|
前端开发 JavaScript API
js【详解】ajax (含XMLHttpRequest、 同源策略、跨域、JSONP)
js【详解】ajax (含XMLHttpRequest、 同源策略、跨域、JSONP)
51 0