相关疑难解决方法(0)

如何让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);
  });
}
Run Code Online (Sandbox Code Playgroud)

但我想阻止我的小部件创建项目,所以我应该返回false母函数,而不是回调.有没有办法使用jQuery或任何其他浏览器中的API执行同步AJAX请求?

javascript ajax jquery asynchronous

1173
推荐指数
13
解决办法
69万
查看次数

jquery异步和JSON数据

javascript jquery和使用eval我仍然无法获得jquery异步读取数据.

 data1=[1,2,3,4]
Run Code Online (Sandbox Code Playgroud)

注意:我在下面的示例中包含了async:true只是为了显示差异

下面的例子返回"null"

$(document).ready(function(){

var myArray=[];
myArray=getValues();
alert(myArray);
        function getValues(){
        var result=null;
             $.ajax({
                url: 'data1.html',
                type: 'get',
                dataType: 'json',
                cache: false,
                success: function(data) {result = data;},
                async:true,
                });
            return result;
        };
})
Run Code Online (Sandbox Code Playgroud)

以下示例工作正常,并以数组形式给出结果,即[1,2,3,4]

$(document).ready(function(){

var myArray=[];
myArray=getValues();
alert(myArray);
        function getValues(){
        var result=null;
             $.ajax({
                url: 'data1.html',
                type: 'get',
                dataType: 'json',
                cache: false,
                success: function(data) {result = data;},
                async:false,
                });
            return result;
        };
 })
Run Code Online (Sandbox Code Playgroud)

有人可以解释如何异步获得结果谢谢

jquery json asynchronous

5
推荐指数
1
解决办法
3万
查看次数

标签 统计

asynchronous ×2

jquery ×2

ajax ×1

javascript ×1

json ×1