站三界导航
首页 jQuery代码使用JQuery实现同步请求

使用JQuery实现同步请求

  • jQuery代码
  • 来源:站三界导航
  • 150阅读
  • 2022-09-27

现在工作的时候,绝大部分场景使用的是异步请求,可以使用ajax fetch axios等技术实现;

其中最常用的是jquery的ajax方法;

$.ajax({
    url: "XXX",//请求路径
    data: { param1: jsonObj1, params2: str2... },
    type: "POST",//GET
    //dataType: "JSON",//需要返回JSON对象(如果Ajax返回的是手动拼接的JSON字符串,需要Key,Value都有引号)
    success: function(resp) {
        //处理 resp.responseText;
    },
    error: function(a, b, c) {
        //a,b,c三个参数,具体请参考JQuery API
    }
})

但是在某些场景下,我们需要同步请求,比如我在构建Grid控件的时候,动态列的情况;

一旦Grid对象创建完成,渲染到浏览器的时候,如果没有配置列,或者列配置选项错误,那么这个页面会提示错误,即Grid没有成功渲染;

因此这里我们需要在new Grid之前.首先获取动态列数据,进行列模型的构建;

我们这样子做:给出一个简单例子

var cmObjStr = eval("(" + $.ajax({
			url: "XXX",
			async: false,//关键是这个参数 是否异步请求=>false:使用同步请求
			type: "POST",
			data: {
				params1: value1
			}
		}).responseText + ")");

这里返回的是列模型所需要的列信息,还需要手动创建列模型对象;

总结一下:所有支持异步请求的方法,需要看相关的文档API,看是否存在async这个参数;设置async为false为同步请求,只有请求返回了,浏览器线程才会执行下一行的JS;

本文结束
本文来自投稿,不代表站三界导航立场,如若转载,请注明出处:https://www.zhansanjie.com/article/details/10519.html

版权声明:

1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

2、本站仅提供信息发布平台,不承担相关法律责任。

3、若侵犯您的版权或隐私,请联系本站管理员删除。

4、本文由会员转载自互联网,如果您是文章原创作者,请联系本站注明您的版权信息。

分享
站三界导航
本站声明:本站严格遵守国家相关法律规定,非正规网站一概不予收录。本站所有资料取之于互联网,任何公司或个人参考使用本资料请自辨真伪、后果自负,站三界导航不承担任何责任。在此特别感谢您对站三界导航的支持与厚爱。