Очень простой вопрос Ajax - PullRequest
       4

Очень простой вопрос Ajax

2 голосов
/ 13 декабря 2010

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

<div class="menu">
<script>
$(function(){
$('div').load('mytext.txt');
});
</script>

<div id="here"> </div>
</div>

Я пробовал это на страницах, где JQuery работает очень хорошо, поэтому я знаю, что моя ссылка на Google работает.Я пробовал пару небольших скриптов, подобных этому, и не могу заставить их работать ни при каких обстоятельствах.Mytext.txt находится в том же каталоге, что и файл php со сценарием.Есть ли какое-то волшебное слово, которое вы должны использовать, чтобы заставить .load работать?

Я пытался

$('div#here').load('mytext.txt');

безрезультатно.Особо следует отметить, что это на сайте codeigniter, но это не должно иметь значения, так как я вызываю ajax независимо от контроллера и прямо из представлений, как любой другой вызов JQuery.

Это должно быть самой простой вещью вмир.Почему я ничего не могу сделать, чтобы загрузить .load на работу?Спасибо

Ответы [ 3 ]

2 голосов
/ 13 декабря 2010

Попробуйте запустить свою страницу, используя Firefox с включенным Firebug; и смотреть трафик NET / HTTP.

Я предполагаю, что существует проблема относительного пути; но Firebug должен дать вам более подробную информацию о том, какая именно ошибка возникает при запросе mytext.txt.

1 голос
/ 13 декабря 2010

Этот следующий фрагмент корректно работает в моей хостинговой среде Linux.Оба файла (so.html и mytext.txt находятся в корне документа). Интересно, не вызывает ли вас проблема с указанием атрибута «type» с тегом script.Вы также хотите убедиться, что квалификатор div также квалифицирован: $ ('div # here'). Load ... вместо $ ('div'). Load ...

Файл = /so.html

<!DOCTYPE html>
<html>
<head>
<title>Stackoverflow is Awesome</title>
<script
  type="text/javascript"
  src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js">
</script>
</head>
<body>
<div class="menu">
  <div id="here"></div>
</div>
<script type="text/javascript">
  $(function(){
    $('div#here').load('mytext.txt');
  });
</script>
</body>
</html>

Файл = /mytext.txt

Привет из mytext.txt !!!!!

1 голос
/ 13 декабря 2010

Это должно работать в соответствии с тем, что вы дали - см. Рабочий jsfiddle здесь:

Единственное, о чем я могу подумать, это проверитьпуть к файлу (возможно, он должен быть /mytext.txt, т.е. с косой чертой впереди).Кроме того, можете ли вы открыть файл из браузера, то есть перейти к www.yoursite.com/mytext.txt?

В качестве примечания, теги <script> обычно должны идти к элементу <head> в вашем HTML.

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