我有一个原生的javascript对象,我想将.ajaxSuccess回调分配给。这样做的目的是因为我希望我的数据模型在ajax调用成功后更新,但我不想让我的数据模型全局到整个javascript文件。是的,我检查确保我的jQuery包含在我的脚本文件之前。
以下是代码:
$("#formButtonAddLink").click(function() {
$.ajax({
type: "POST",
url: "ajax/addlink",
data: {content: $("#formInputLinkContent").val(), subject: $("#formInputLinkSubject").val()},
dataType: "json",
error: function() {
alert("An ajax error occured adding link")
}
});
return false; //prevents html form submit
})
$(document).ready(function(){
var links = new Links(20,0);
$(links).ajaxSuccess(function() {
console.log("Hey.") //This does not work.
});
$(document).ajaxSuccess(function() {
console.log("Document hey.") //This shows up.
});
});
答案 0 :(得分:1)
ajaxSuccess()
的基本理念是:
每当Ajax请求成功完成时,jQuery就会触发 ajaxSuccess事件。已注册的所有处理程序 此时执行.ajaxSuccess()方法。
据我所知documentation,您只能将ajaxSuccess()
事件处理程序附加到元素,而不是JavaScript对象。这就是将事件处理程序附加到document
。
我们可以将事件处理程序附加到任何元素。
在这种情况下,如果你有类似的东西:
<div class="links"></div>
你可以这样做:
$(document).ready(function(){
$(".links").ajaxSuccess(function() {
console.log("Hey.")
// use links in here:
var links = new Links(20,0);
});
});