【发布时间】:2012-08-09 04:53:48
【问题描述】:
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”将其公开的内容,但我没有得到任何地方。有人可以解释为什么这不起作用吗?
TypeError: Object [object Object] 没有方法'cost'
【问题讨论】:
-
你在
makeHttpRequest()回调函数中定义函数,而不是在actions.get_min_hit_list_bounty对象中 -
我在 } 之后尝试了 this.cost);但它出现未定义。
-
使用该版本的代码更新您的问题
-
动作中的功能比这里列出的要多。
-
好吧,我已经解释了为什么你的问题中的代码不起作用。你现在想知道什么?
标签: javascript object constructor return