#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:
Несколько рекомендаций
-
Вероятно, все эти упражнения работают так, как ожидалось. Но это зависит от того, разместили ли вы их в IIS или запускаете локально на своем диске. Все инструкции, скорее всего, содержатся в самой книге.
-
Если у вас возникли проблемы с ними, лучшее, что можно сделать, это использовать Firebug и посмотреть, что происходит.
-
Ваш вопрос очень сложен для понимания, поэтому вы не получаете никаких ответов. Сначала вы рассказываете об упражнении Ajax (которое я нашел в
exercices/ajax.html
), но затем вы ссылаетесь на совершенно другие файлы в комментарии. Вот почему мы все хотели, чтобы вы предоставили некоторый код. Сообщество обычно работает следующим образом: если вы хотите, чтобы люди приложили некоторые усилия и время, чтобы ответить вам, от вас ожидается то же самое. Вам также следует приложить некоторые усилия и время для написания подробного и четкого вопроса. В противном случае все становится запутанным, и в ens многие люди могут быть недовольны и разочарованы. -
Как я пытался
ajax.html
на JSBin.com Я говорю, что мне также был нуженajax.js
, который не находился в папке, связанной в HTML-файле (должен быть,js/ajax.js
но есть../solutions/ajax.js
)… То же самое происходит с Ajax-запросами, которые также отправляются по различным путям, которые могут быть недопустимыми. Firebug должен быстро показать вам, что происходит.
В любом случае. Поскольку в книге есть все инструкции по выполнению этих упражнений, я советую вам выполнить эти шаги, и я уверен, что этот код должен начать работать. Все не кажется таким сложным, поэтому студентам / читателям / учащимся будет сложно разобраться.
HTML довольно базовый и очень простой.
Что вы можете тогда сделать?
Вы можете либо подождать кого-то другого, у кого есть:
- прочитайте ту же книгу и
- проделал те же упражнения и решил эти проблемы
Или вы можете использовать Firebug, отладить код и посмотреть, почему он не работает, и задать конкретные и ясные вопросы здесь.
Многие, вероятно, хотели бы вам помочь, но поскольку вы не предоставляете никакого кода и даже ваши ссылки сбивают с толку, поэтому нам трудно просто погрузиться во что-то.
Комментарии:
1. Спасибо за ваш продуманный ответ. Проблема не в том, что код выполняется с ошибками. На самом деле я выполнил упражнение через Firebug перед публикацией моего вопроса, и никаких сообщений об ошибках не поступало. Проблема в том, что код выполняет не то, что я ожидаю, поэтому я надеялся, что кто-то, кто уже прошел через упражнения, сможет помочь. Предоставленные мной ссылки являются правильными (the ajax.html найденный вами файл не относится к рассматриваемому упражнению). Что касается вашей точки зрения, я вернусь и опубликую наиболее релевантный код и попробую еще раз.