AJAX Post вдруг перестал работать? - PullRequest
0 голосов
/ 27 июня 2011

Я думаю, что-то изменил, и теперь это не работает.Я перепробовал все.Все комментирую, но уже поздно, поэтому, наверное, я делаю глупые ошибки.Вот оно:

// 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 ]

2 голосов
/ 27 июня 2011

Активируйте вкладку Консоль Firebug на http://justtwobros.com, и вы увидите ошибку «$ .ajax не является функцией»

Страница импортирует jQuery 1.6.1, а затем импортирует jQuery 1.2.2, который перезаписывает современный объект jQuery более старой версией. Попробуйте удалить jQuery 1.2.2.

2 голосов
/ 27 июня 2011

Единственная другая проблема, которую я вижу, это то, что вы загружаете как jQuery, так и Prototype.

Прототип использует объект $ точно так же, как и jQuery. Так как вы загружаете Prototype второй, его определение $ object перезаписывает jQuery, что приводит к ошибке вдоль строк ".ajax (), не определен для объекта $".

Удалите Prototype.js, и он должен работать.

1 голос
/ 27 июня 2011

вы меняете innerHtml контента здесь с asdfasdf

document.getElementById('content').innerHTML = "asdfasdf";

и затем вы пытаетесь получить - .work_thumbnail_wrapper внутри content, чего, конечно, там нет ..

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

так что я думаю, что это может быть причиной ...

0 голосов
/ 21 октября 2011

Вместо удаления Prototype.js вы можете использовать jQuery.ajax () вместо $ .ajax ()

Это должно решить проблему как jQuery & Prototype, используя синтаксис $.

например: $ ( '# MyDiv'). JQuery ( '# myDiv'). // оба действительны

Существует также функция с именем: jQuery.noConflict (), подробнее об этом вы можете прочитать здесь: http://api.jquery.com/jQuery.noConflict/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...