Jquery AJAX PHP MySQL не возвращает никаких данных (сбой с PHP)

#php #jquery #mysql #ajax

#php #jquery #mysql #ajax

Вопрос:

Я продолжаю получать сбой от моего AJAX. Я проверил весь свой PHP в отдельном файле, и, похоже, все работает нормально. Никаких проблем, и json_encode созданного массива, похоже, соответствует всем именам полей и значениям.

Поскольку мое понимание AJAX и JSON не очень хорошее, я полагаю, что пропустил какой-то очевидный момент. Я проверил КОНСОЛЬ в Google Chrome Inspect Elements, и там нет сообщений.

JS:

         function processSearch(){
            alert('Doing Search');
            $.ajax({
                url: "WCITSearch.php",
                type: "POST",
                data: $('#searchFORM').serialize(),
                dataType: "json",
                success: function (data) {
                    alert("SUCCESS from PHP:");
                    $('#results').html(data);
                },
                error: function (data) {
                    alert("FAILURE from PHP:");
                    $('#results').html(data);
                }

            event.preventDefault();
        }
  

PHP:

     $connection = mysql_connect($host,$user,$pass) or die(mysql_error());

$dbs = mysql_select_db($database, $connection) or die(mysql_error());  // Select the datbase

// 2) Query database for data
$select = "SELECT vehGrpName, vehTitle, vehDescrip FROM vehicles LIMIT 20";
$result = mysql_query($select) or die(mysql_error());          //query
$recs = array();
if(mysql_num_rows($result)) {
    while($post = mysql_fetch_assoc($result)) {
    $recs[] = array('vehicles'=>$post);
    }
}
// 3) echo result as json 
echo json_encode($recs);
  

Я боролся уже пару дней, но я не знаю, что тестировать дальше.

Любые указания / помощь будут очень оценены.

Спасибо

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

1. В чем именно заключается сбой? В какой момент это происходит — во время запроса или ответа? Это просто пустые данные или вообще ничего? Ваш скрипт вводит функцию success-function? Или функция ошибки? И, похоже, отсутствуют обе закрывающие скобки из ajax({});

2. Спасибо за быстрый ответ. Отсутствует закрывающий AJAX. Они потерялись при моей копировании-вставке. Ошибка заключается в выполняемом предупреждении об ошибке: опция AJAX.

3. Спасибо за любую помощь. Теперь я понимаю немного лучше и научился использовать console.log() . Ошибка: опция выполняется только тогда, когда есть проблема со скриптом PHP, и я обнаружил это из-за следующего кода, который я где-то нашел error: function (XMLHttpRequest, textStatus, errorThrown) { alert("XMLHttpRequest=" XMLHttpRequest.responseText "ntextStatus=" textStatus "nerrorThrown=" errorThrown);} , и я мог видеть, что я перепутал свой рабочий тест PHP с реальным PHP. Если я внедрю это в будущем, я надеюсь, у меня будет меньше проблем.

Ответ №1:

Я думаю, вы имеете в виду, что вызван обратный вызов ajax error, это не означает, что «php терпит неудачу», но «запрос не выполняется».

http://api.jquery.com/jQuery.ajax/

Поэтому я думаю, вам следует проверить url атрибут. Вы уверены, что WCITSearch.php и ваш скрипт находятся на одном уровне? Однако вы можете использовать network tab в инструментах разработчика webkit.

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

1. URL правильный и находится в том же каталоге, что и вызывающий javascript. Они на один уровень ниже public_html .

2. WCITSearch.php /WCIT POST 200 OK text/html jquery.min.js:4 Script 235B 20B 948ms 940ms Надеюсь, это поможет.

3. Да, я не понимаю, почему вызывается обратный вызов с ошибкой, поскольку запрос возвращает OK. Возвращает ли он какой-либо JSON?