2017-03-03 21 views
2

如何将jQuery ajax方法定义为我的对象的属性?将jQuery.ajax定义为方法

我有Ajax请求

$.ajax({ 
    type: "POST", 
    url: "../PHP/RoadtripsTable.php", 
    data: ({fnChoice: "listRoadtrips"}) 
}) 

,我想定义一个对象的属性×○这样的:

var o = { 
    x: $.ajax({ 
     type: "POST", 
     url: "../PHP/RoadtripsTable.php", 
     data: ({fnChoice: "listRoadtrips"}) 
    }) 
} 

但这似乎并没有工作。我需要将o.x作为延迟,因为我在jQuery-Library中使用$。()。

回答

0

这应该为你工作:

var o = { 
    x: function() { 
    $.ajax({ 
     type: "POST", 
     url: "../PHP/RoadtripsTable.php", 
     data: ({fnChoice: "listRoadtrips"}) 
    }); 
    } 
} 

这种替代宣言还应该工作:

var o = { 
    x() { 
    $.ajax({ 
     type: "POST", 
     url: "../PHP/RoadtripsTable.php", 
     data: ({fnChoice: "listRoadtrips"}) 
    }); 
    } 
} 
+0

没有这不起作用。当我写这样的时候,when子句 - 在那里我把'x()'方法交给 - 不工作。也许是因为'function(){..}'包装器不会使它延期了 – Nighel

+0

你的其他代码是什么样的,你使用这个方法的地方是什么? – jeffdill2

+0

不要忘记从函数返回jqXHR - ':x:function(){return $ .ajax(...); }' –