function makeHttpRequest(url, success) {
$.ajax({
url: url,
dataType: "jsonp",
crossDomain: true,
mimeType: 'application/javascript',
async: false,
success: success
});
}
var actions = {
get_min_hit_list_bounty: function (user_id) {
makeHttpRequest("get_min_hit_list_bounty?target_id=" + user_id + "&", function (data) {
var data = data['body'],
xml = convert(data);
this.min_cost = $(xml).find('min_cost').text();
this.cost = function() {
return this.min_cost;
}
});
}
};
var myBounty = new actions.get_min_hit_list_bounty(user);
alert(myBounty.cost());
我无法从此类对象返回任何东西。我读过很多关于使用原型并使用“this”来公开它,但我没有得到任何地方。有人能解释为什么这不起作用吗?对象构造函数和Javascript中的返回值
TypeError: Object [object Object] has no method 'cost'
您可以在'makeHttpRequest()'回调函数中定义函数,而不是在'actions.get_min_hit_list_bounty'对象中定义函数 – zerkms 2012-08-12 22:04:44
我在})之后试过this.cost。但它的未定义。 – 2012-08-12 22:10:57
用该版本的代码更新您的问题 – zerkms 2012-08-12 22:19:34