【发布时间】:2012-08-08 15:31:56
【问题描述】:
我有一个名为Entry 的简单对象,直到最近它还只有一些基本属性。在某些事件期间,我将对这些对象执行 REST 操作,以使用 C# 代码中的 API。直到最近,这还不错。我会使用我的小请求服务将这些对象 POST 或 PUT 到 AJAX 请求的正文中,结果如下:
$.ajax(url,
{
type:method,
headers:headers,
data:options.data, //there is an instance of Entry in options.data
timeout: this.timeoutLength
});
最近我在Entry中添加了一个功能。
function Entry(foo, bar){
this.foo = foo;
this.bar = bar;
this.doStuff = function(){ ... } //added this code
}
我添加了该功能,但再次质疑其使用背后的用户故事,因此我切换回浏览器,刷新并运行了更多测试。无需在任何地方调用函数doStuff,它的效果就会被看到。
我用一个简单的警报替换了doStuff 的正文,果然,每次我在幕后使用Entry 对象调用AJAX 请求时,我都会收到我的警报消息。为什么会发生这种情况?为什么doStuff 在没有我告知的情况下被调用?
【问题讨论】:
-
同时提问和回答?你是什么机器人?
-
@bpeterson76 发帖时从未注意到“回答您自己的问题,问答风格”选项?其实I believe its encouraged
-
我对此很头疼,所以我认为分享它既有趣又有用,以防其他人遇到它
-
考虑添加更多细节,我不知道发生了什么以及调用了什么。我唯一能看到的是
complete,当然这是被调用的。 -
@Esailija 感谢您的建议。删除了
complete,因为它是一个红鲱鱼,并在此处命名了有问题的函数。希望它更清楚
标签: javascript jquery