Не работает ли код Ajax-решения из главы 7 «Основы jQuery»?

#jquery

#jquery

Вопрос:

Я попробовал свои силы в первом упражнении для главы 7 (Ajax) в jQuery Fundamentals Р. Мерфи. Теперь я хочу запустить код решения, чтобы посмотреть, как это должно работать.

Однако, когда я копирую / вставляю код из solutions/load.js файл в мой data/load.js файл, сохраните все и перезагрузите страницу, похоже, это не работает. Все, что я получаю, — это console.log(id) вывод, который вызывался ранее e.preventDefault() . Я ожидал содержимое блога от blog.html чтобы появиться на странице под заголовком в index.html «Сообщение в блоге 1».

Обновление с помощью кода

Вот исходный код jQuery, о котором идет речь (из файла solutions/load.js ):

 $(document).ready(function() {
    var $blog = $('#blog');
    $blog.find('h3')
        .each(function() {
            var     $this = $(this),
                $target = $('<div/>').insertAfter($this);

            $this.data('target', $target);
        })
        .click(function(e) {
            var     $this = $(this),
                $a = $this.find('a'),
                $target = $this.data('target'),
                href = $a.attr('href'),
                id = '#'   href.split('#')[1];

            console.log(id);
            e.preventDefault();

            $target.load('data/blog.html '   id);
        });
});
  

Насколько я понимаю, код должен извлекать html из data/blog.html и замените html-код, который есть в каждом из трех <li> , в элементе $(‘div.module #blog’).

Однако, когда я запускаю код, этого не происходит. В Firebug не генерируется ошибок, и console.log(id) вызов работает как ожидалось, возвращая то, что выглядит как правильно сформированная строка в ‘id’.

Я ошибаюсь в том, как это должно работать?

Комментарии:

1. Хотите какой-нибудь код? ( по крайней мере, в виде ссылки, но если вы предоставите JSFiddle, мы будем очень рады ).

2. Можете ли вы показать нам часть кода, с которым вы работаете, особенно ту часть, которая не работает?

3. @Robert Koritnik @locrizak «Код» состоит из файла link .html и файла link .js, оба из которых казались слишком большими, чтобы просто скопировать и вставить содержимое здесь.

4. Я проверил эти упражнения, и там много файлов, структурированных так, как читатель книги понимает лучше всего (при условии, что у него есть инструкции в самой книге). Пока мы на самом деле не получим некоторый код, трудно написать какой-либо ценный ответ.

Ответ №1:

Я мог бы воспроизвести проблему. Это исправление:

Замените строку

 $target.load('data/blog.html '   id);
  

Автор:

 $target.load('data/blog.html div'   id);
  

Ответ №2:

Несколько рекомендаций

  1. Вероятно, все эти упражнения работают так, как ожидалось. Но это зависит от того, разместили ли вы их в IIS или запускаете локально на своем диске. Все инструкции, скорее всего, содержатся в самой книге.

  2. Если у вас возникли проблемы с ними, лучшее, что можно сделать, это использовать Firebug и посмотреть, что происходит.

  3. Ваш вопрос очень сложен для понимания, поэтому вы не получаете никаких ответов. Сначала вы рассказываете об упражнении Ajax (которое я нашел в exercices/ajax.html ), но затем вы ссылаетесь на совершенно другие файлы в комментарии. Вот почему мы все хотели, чтобы вы предоставили некоторый код. Сообщество обычно работает следующим образом: если вы хотите, чтобы люди приложили некоторые усилия и время, чтобы ответить вам, от вас ожидается то же самое. Вам также следует приложить некоторые усилия и время для написания подробного и четкого вопроса. В противном случае все становится запутанным, и в ens многие люди могут быть недовольны и разочарованы.

  4. Как я пытался ajax.html на JSBin.com Я говорю, что мне также был нужен ajax.js , который не находился в папке, связанной в HTML-файле (должен быть, js/ajax.js но есть ../solutions/ajax.js )… То же самое происходит с Ajax-запросами, которые также отправляются по различным путям, которые могут быть недопустимыми. Firebug должен быстро показать вам, что происходит.

В любом случае. Поскольку в книге есть все инструкции по выполнению этих упражнений, я советую вам выполнить эти шаги, и я уверен, что этот код должен начать работать. Все не кажется таким сложным, поэтому студентам / читателям / учащимся будет сложно разобраться.

HTML довольно базовый и очень простой.

Что вы можете тогда сделать?

Вы можете либо подождать кого-то другого, у кого есть:

  1. прочитайте ту же книгу и
  2. проделал те же упражнения и решил эти проблемы

Или вы можете использовать Firebug, отладить код и посмотреть, почему он не работает, и задать конкретные и ясные вопросы здесь.

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

Комментарии:

1. Спасибо за ваш продуманный ответ. Проблема не в том, что код выполняется с ошибками. На самом деле я выполнил упражнение через Firebug перед публикацией моего вопроса, и никаких сообщений об ошибках не поступало. Проблема в том, что код выполняет не то, что я ожидаю, поэтому я надеялся, что кто-то, кто уже прошел через упражнения, сможет помочь. Предоставленные мной ссылки являются правильными (the ajax.html найденный вами файл не относится к рассматриваемому упражнению). Что касается вашей точки зрения, я вернусь и опубликую наиболее релевантный код и попробую еще раз.