所有分类
  • 所有分类
  • 后端开发
jQuery教程:轻松掌握fetch同步请求技巧

jQuery教程:轻松掌握fetch同步请求技巧

技术进行异步数据请求。同步请求。同步请求基础语法该参数可以保证异步请求在返回响应之前不会继续执行代码,等待服务器响应后再继续执行JavaScript代码。再来看一下fetch同步请求的基本语法:发送到服务器,这与异步请求不同。方法,需要使用

现在网上的应用越来越多,少不了要用到客户端Javascript。说到这个JavaScript,我可得说说咱们最爱的jQuery了。这是个超级实用的工具包,操作起来又快又方便,很多浏览器都支持。jQuery不光可以轻而易举地搞定HTML文档,让你省心不少,还能用AJAX提升网站的用户体验。有的时候,你可能还是需要依赖同步请求?别急,Wilco早就给出了解决方案——fetch同步请求。接下来就让我告诉你怎么用jQuery的fetch同步请求,以及这里头的基础知识,遇到问题也不用怕,我都会给你解答的,记得认真学

fetch同步请求基础语法

如果我们要用jQuery做同步请求的话,记得要加async: false这个参数,这样在服务器回复之前,浏览器会乖乖等待的。打个比方说,我们想发起同步GET请求,这样做就对了:

javascript
$.ajax({
    url:'example.com/data',
    type:'GET',
$.ajax({
    url:"http://localhost:8080/api/data",
    dataType:"json",
    async:false,
    success: function(data) {
        console.log(data);
    }
});

async: false,
success: function(data){

$.ajax({
    url: 'example.json',
    async: false,
    dataType: 'json',
    success: (data) => console.log(data)
});

console.log(data);
}
});

再来看一下fetch同步请求的基本语法:

fetch同步请求常见问题和解决方法

1. fetch同步请求可能会导致程序阻塞

jQuery教程:轻松掌握fetch同步请求技巧

要是服务器反应迟钝,那你的fetch方法很可能让整个脚本傻等!这不是开玩笑,网页上的其他小动作可得等收到回复后才敢乱来。还有更悲剧的情况就是,中途可能会卡壳,一直悬着直到超时或者服务器响应之后才能恢复正常。

解决办法超简单:切换成异步请求或把打包请求拆开做。

$.ajax({
    url: 'example.json',
    async: false,
    dataType: 'json',
    credentials: 'include',
    success: (data) => console.log(data)
});

2. fetch同步请求不能同步发送cookies

呐,了解下,Fetch取数据时是无需带Cookie哒,这个和咱平时编程有些不同如果要用到Cookie,得把Credentials里面的值设为’tinclude’噢。

3. fetch同步请求可能会遇到跨域问题

这个规则就是同款浏览器中的fetch请求如果相同就可能发送失败或者被阻止了。

解决方法,分两步走就行了:首先,给JSON加个padding;其次,搞台代理服务器,这样跨域问题也就迎刃而解喽!

4. fetch同步请求不支持所有HTTP方法

别忘了 Fetch只支援 GET 和 POST !要换别的 HTTP 方法?那就得用些花招,做点异步处理。

5. fetch同步请求会阻断页面生命周期事件

网页可不容易进去~后台同步引起“拜拜”事件受阻时,网页得等着反应回来才能动弹儿,你说要花多久?这可真不是小事儿,咱这用户们别不当回事儿呀。

解决方案:避免在页面生命周期事件中使用fetch同步请求。

虽然同步请求好用,但有时候还是难免有些小麻烦。网站要好用,主要顺畅,少点岔子,所以尽量别搞异步请求那套!

原文链接:https://www.icz.com/technicalinformation/web/2024/04/14249.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?