为了账号安全,请及时绑定邮箱和手机立即绑定

如何让jQuery执行同步而非异步的Ajax请求?

如何让jQuery执行同步而非异步的Ajax请求?

慕尼黑8549860 2019-05-29 17:05:12
如何让jQuery执行同步而非异步的Ajax请求?我有一个JavaScript小部件,它提供标准的扩展点。其中之一就是beforecreate功能。它应该返回false以防止创建项目。我使用jQuery在这个函数中添加了一个Ajax调用:beforecreate: function (node, targetNode, type, to) {   jQuery.get('http://example.com/catalog/create/' + targetNode.id + '?name=' + encode(to.inp[0].value),   function (result) {     if (result.isOk == false)          alert(result.message);   });}但我想阻止我的小部件创建项目,所以我应该返回false母函数,而不是回调。有没有办法使用jQuery或任何其他浏览器中的API执行同步AJAX请求?
查看完整描述

4 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

优秀解决方案 我注意到当我尝试实现它时,如果我在success子句中返回一个值,那么它返回为undefined。我必须将它存储在变量中并返回该变量。这是我提出的方法:

function getWhatever() {
  // strUrl is whatever URL you need to call
  var strUrl = "", strReturn = "";

  jQuery.ajax({
    url: strUrl,
    success: function(html) {
      strReturn = html;
    },
    async:false
  });

  return strReturn;}


查看完整回答
反对 回复 2019-05-29
  • 4 回答
  • 0 关注
  • 983 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信