我正在尝试学习一些更高级的java脚本模式,同时使用jQuery来缓解jQuery的一些ajax难度。但是,我一直在努力解决没有错误的问题。
我希望能够调用ajaxCalls.setup({})并让它用传递给setup的对象替换默认值。我有那个部分在工作。我似乎遇到的问题是ajax调用。当callIt函数运行时,$(this.defaults.element).load(....)不运行或者如果它运行失败。我很难过。我真的只是想学习新的东西。我将不胜感激任何帮助
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<script>
var ajaxCalls = (function($){
var ajaxer = {
defaults:{
url:"test.php",
element:"#ajaxerizer"
},
setup:function(setup){
var defaulLengther = this.defaults
/*var l = 0;*//*bug*/
for (var key in defaulLengther)
{
if(setup.hasOwnProperty(key))
{
this.defaults[key] = setup[key];
/*l++;*//*bug*/
}
}
/*debugger*/
/*for(var i=0; i < l; i++)
{
alert(this.defaults.power);
} */
this.callIt();
},
callIt:function(){
$(this.defaults.element).load(this.defaults.url, function(){alert("success");});
},
}
return ajaxer
})(jQuery);
ajaxCalls.setup({})
</script>
</head>
<body>
<div id="ajaxerizer"></div>
</body>
</html>
感谢您的帮助test.php就在其中
<p>IT WORKED</p>
注意:在这个项目中我打算只使用jQuery进行DOM选择和aJax调用
答案 0 :(得分:0)
您需要将ajaxCalls.setup设置为在使用document.ready加载页面后运行 例如
$(document).ready(function(){
ajaxCalls.setup({})
});
否则,您在加载html之前尝试替换div。