我想在函数中封装jQuery get
方法。
我该如何正确地做到这一点?
以下只是在我调用getMyData()
时返回一个get对象:
function getMyData() {
return $.get("www.mysite.com/data", function(data) {
return data;
});
}
我希望能够调用getMyData()
来返回数据对象。
答案 0 :(得分:2)
所有jQuery的各种AJAX方法(例如$.get
,$.getJSON
和$.ajax
)都是异步的(这是AJAX中的'A')。
它们返回一个promise对象,可用于确定何时收到数据。因此你可以这样做:
function getMyData() {
return $.get("www.mysite.com/data")
}
并称之为:
getMyData().done(function(data){
// here data is received
});
另一种选择是传递方法一个回调函数,一旦收到数据就被调用
function getMyData(callback) {
$.get({
url:"www.mysite.com/data",
success: callback
})
}
并称之为:
function myCallback(data){
// here data is received
}
getMyData(myCallback);
答案 1 :(得分:-3)
而不是get
使用jquery ajax
并使用async
= false
function getMyData()
{
var result = null;
$.ajax({
url: "www.mysite.com/data",
type: 'get',
dataType: 'html',
async: false,
success: function(data) {
result = data;
}
});
return result;
}