Ошибка «функция не определена» в скрипте с jQuery - PullRequest
1 голос
/ 28 февраля 2011

Я получаю сообщение об ошибке «функция не определена» с использованием следующего кода, который использует jQuery:

<!DOCTYPE html>  
<html>  

<head>

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>

<script type="text/javascript">

function log_in() {
   document.write('Logging in ... ');
   $.post('process_ajax.php', { 'action' : 'log in' }, function(data) {
      document.write(data);
      create_new_story();
   });
}

function create_new_story() {
   document.write('Creating new story ... ');
   $.post('process_ajax.php', { 'action' : 'create story' }, function(data) {
     document.write(data);
   });
}

</script>

</head>

<body onload="log_in()">
Processing...<br>
</body>

</html>

Вот скрипт PHP, который он вызывает (для тестирования):

<?

die("Page opened.<br>");

?>

Первая вызванная функция - log_in () - работает нормально, но я получаю эту ошибку:

«Ошибка: create_new_story не определена»

И эта функция никогда не будет выполнена.

Я уверен, что упускаю что-то простое. Могу ли я получить новую пару глаз, чтобы найти его?

Ответы [ 2 ]

4 голосов
/ 28 февраля 2011

Вы можете звонить только document.write, пока страница все еще загружается.

Вы не можете позвонить позже, или это сдует существующую страницу.

Вместо этого вы должны использовать jQuery.append метод.

0 голосов
/ 28 февраля 2011

Когда вы вызываете document.write () после того, как DOM готов, он фактически заменяет всю страницу аргументом для document.write ().

См. DEMO.

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