AJAX Post突然停止工作了?

时间:2011-06-27 06:50:02

标签: php javascript jquery html ajax

我想我改变了一些东西,现在它没有用。我尝试了一切。评论一切,但已经很晚了,所以我可能犯了愚蠢的错误。这是:

// Show All Work on Load
function showAllWorkOnLoad() {
var thePostData = "filter=allwork";
var inner = document.getElementById('content').innerHTML;
alert(inner);

$.ajax({
    type: "POST",
    url: "http://justtwobros.com/get_work.php",
    data: thePostData,
    success: function(theRetrievedData) {
        document.getElementById('content').innerHTML = theRetrievedData;
        $("#content").fadeIn(20);
        focusButtonAllWork();

        var count = 0;
        $("#content").find('.work_thumbnail_wrapper').each(function() {
            count++;
            var timeWait = (count * 100) + 500;
            var theId = $(this).attr('id');  
            var theIdDone = "#" + theId;
            setTimeout(function(){$(theIdDone).fadeIn(300);},timeWait);
        }); 

    }
});
} 

如果您需要链接,请点击此处:http://justtwobros.com

没有任何东西出现在旁边(它调用这个javascript函数从php文件中获取结果,然后将其放入,然后淡入部分。我知道这里搞乱了因为我只是把文本放在PHP文件中它仍然无效。

谢谢!

4 个答案:

答案 0 :(得分:2)

http://justtwobros.com上激活Firebug的控制台标签,您将看到错误“$ .ajax不是函数”

页面导入jQuery 1.6.1,然后导入jQuery 1.2.2,它用旧版本覆盖现代jQuery对象。尝试删除jQuery 1.2.2。

答案 1 :(得分:2)

我看到的另一个问题是你正在加载jQuery和Prototype。

Prototype使用$ object就像jQuery一样。由于你要加载Prototype第二个,它对$ object的定义会覆盖jQuery,导致出现“.ajax()没有为对象$”定义的错误。

删除Prototype.js,它应该可以工作。

答案 2 :(得分:1)

您正在使用asdfasdf

更改内容的innerHtml
document.getElementById('content').innerHTML = "asdfasdf";

然后你试图在.work_thumbnail_wrapper内找到content,当然不在那里..

 $("#content").find('.work_thumbnail_wrapper').each(function() {

所以我认为这可能是一个原因...

答案 3 :(得分:0)

您可以使用jQuery.ajax()代替$ .ajax()

而不是删除Prototype.js。

这应解决jQuery和amp;的问题。原型使用$语法。

例如:     $( '#myDiv')。     jQuery的( '#myDiv');     //两者都有效

还有一个名为:jQuery.noConflict()的函数,你可以在这里阅读更多相关内容: http://api.jquery.com/jQuery.noConflict/