2011-01-26 4 views
-2

Хорошо, так что это, вероятно, будет похоже на глупый вопрос. Я пытаюсь выполнить довольно простую задачу: создать динамический контент, который создается из базы данных mySQL через php-файл. Это прекрасно работает, к сожалению, когда я пытаюсь добавить некоторые функции AJAX для заполнения другого окна выбора, исходя из того, что выбрано, оно не работает. Теперь я уверен, что ваше мышление позволяет мне видеть код, но его не нужно для вопроса. Теперь, когда я удаляю php-часть страницы и создаю прямой html-файл, без чего-либо заполняемого фронтом php, вызов AJAX работает правильно, проблема здесь в том, что у меня нет ничего динамического из базы данных, поэтому этот подход не является хорошо. Итак, вот вопрос, не работает ли AJAX, если файл отображается через PHP? Спасибо за помощь.PHP AJAX noob question

+0

Прости меня за шутливости, но позвольте мне увидеть код. Нет абсолютно никакой причины, по которой AJAX не будет работать, потому что файл визуализируется динамически. – lonesomeday

+0

", но его не нужно для вопроса" могу я спросить, почему вы думаете, что это не нужно? – pt2ph8

ответ

0

Теперь я уверен, что ваше мышление позволило мне увидеть код, но его не требуется для вопроса.

Вот где вы ошибаетесь. Это поможет вам дать вам лучший ответ.

Так что вот вопрос, работает ли AJAX , если файл отображается через PHP?

Он работает независимо от вашего серверного языка.

Небольшой пример:

<?php 
header('Content-Type:text/html; charset=UTF-8'); 

$_GET = filter_input_array(INPUT_GET, FILTER_SANITIZE_STRING); 

if (isset($_GET['min']) && isset($_GET['max'])) { 
    echo rand($_GET['min'],$_GET['max']); 
    exit(); 
} 
?> 
<html> 
    <body> 
     <p id="randomtext"></p> 
     Low:<br /><input type="text" id="min" value="0" /><br /> 
     High:<br /><input type="text" id="max" value="100" /><br /> 
     <button id="randomgenerator">Generate random number</button> 
     <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 
     <script type="text/javascript"> 
      $(document).ready(function() { 
       // Handler for .ready() called. 
       $("#randomgenerator").click(function() { 
        $.get("./", { "min": $("#min").val(), "max": $("#max").val() }, function(data) { 
         $("#randomtext").html(data); 
        }); 
       }); 
      }); 
     </script> 
    </body> 
</html> 
+0

Спасибо, человек, у меня было самое страшное время, чтобы заставить его работать, но примерно через 2 часа и много ударов головой о мой стол, он наконец уступил. Наверное, мне нужно работать над своим js skillz. Еще раз спасибо! –

+0

Ваш прием. Удачи: P – Alfred

0

Ajax работает, если синтаксис Javascript верен. Насколько мне известно, он полностью не зависит от языка (html/php/asp/cf/etc.), С которым страница обрабатывается.

0

AJAX осуществляется через Javascript. Если удаление динамического содержимого со страницы сделало работу AJAX, посмотрите на то, что PHP выплевывает, что нарушает javascript.

Как только сгенерированный (или загруженный) HTML выходит на провод с сервера, браузер не может определить, был ли он реальным PHP-скриптом или статическим HTML-файлом.

0

Если вы пытаетесь выполнить JS, который был включен через вызов AJAX, это не сработает. Вам нужно будет создать функцию в качестве обратного вызова и запустить обратный вызов для успеха AJAX.

0

Я рекомендую вам использовать Firebug для отслеживания того, что возвращает вызов Ajax ... посмотрите на него: http://getfirebug.com/

Они правы, кстати, посмотреть на вас PHP скрипт, то, вероятно, что-то торможение там.

Смежные вопросы