Простая проблема отображения AJAX DataGrid - PullRequest
2 голосов
/ 07 декабря 2010

У меня есть таблица данных ajax, которая отображает список товаров в корзине клиента и позволяет им редактировать эти количества, а затем обновляет базу данных.

Он отлично работает на моем личном веб-сервере Abyss на localhost.Но когда я загружаю его на свои серверы www.winhost.com, он никогда не отображает сетку!Это точно такой же код!Я не знаю, что делать, я перепробовал все, что мог придумать.Любая помощь приветствуется, пожалуйста, помогите!

Спасибо!

Ответы [ 6 ]

0 голосов
/ 16 декабря 2010

Я решил эту проблему с помощью альтернативы, так как помощь была недостаточной (но очень ценилась).

Я решил свернуть свой собственный PHP / AJAX Editable DataGrid. Я выпущу его совершенно бесплатно (без открытого исходного кода, просто бесплатно), когда скоро получу время и отредактирую этот ответ со ссылкой на исходный код.

Спасибо всем за помощь и усилия. :)

0 голосов
/ 16 декабря 2010
  • Вы, похоже, не опубликовали код checkout.php.

Я вижу по началу html с тегом title, который отличается от того, что видно на другой странице, где ваша сетка не генерируется.

Вы, конечно, проверяете правильную страницу на вашем сервере.

  • Но что-то решительно указывает на то, что ваша проблема связана с чем-то тривиальным, а не с самим кодом. .. Я чувствую это от

".. он работает на моем локальном сервере, но не работает на хосте ..".

Исходя из вышеприведенной строки, обычные вещи, которые люди пропускают при хостинге на другой машине:

а. Проверка неправильной страницы .. при обновлении неверного скрипта

б. Думая, что они обновили сценарий на сервере ... в то время как их загрузка сценария по FTP фактически не обновляла файл по какой-то причине ... и старый код продолжает давать старые проблемы, которые исправлены локально.

с. Ваш php может иметь ошибки, но по какой-то причине он игнорируется и генерация страницы завершается .. возможно, вам следует попробовать error_reporting(E_ALL); в первых строках вашей проблемной страницы php .. также убедитесь, что флаг display_errors и связанные с ним флаги ошибок на php ini на сервере имеют значение true .. может быть, ваш администратор хостинга может помочь изменить флаги, если они не такие, как должны быть ..

* * +1033 д. Ваш хост-сервер и dev-сервер имеют различные параметры или конфигурацию php, которые вы должны сначала понять. Вы должны сгенерировать страницу phpinfo() на локальном сервере и сравнить ее выходные данные с аналогичным результатом страницы с хост-сервера.

Кроме вышеперечисленного, вы также можете проверить это,

На странице «Оформление заказа» я вижу, что код сетки даже не генерируется ... так что дело не в том, чтобы javascript что-то скрывал ... также javascript не генерирует никаких ошибок в браузере ... так что это может быть что-то простое сам файл класса сетки не включен в соответствующее место на странице оформления заказа ... или что-то тривиальное, что может появиться, если вы сможете увидеть ошибки php на странице.

Поскольку ваш код работает на вашем компьютере или локально ... Я собираюсь предположить, что вам не нужно отлаживать или изменять какой-либо код, если вы не увидите ничего страшного из сравнения phpinfo отсутствующих deps или ошибок после error_reporting(E_ALL)

0 голосов
/ 10 декабря 2010

Посмотрите, вот моя стратегия в ваших комментариях обработчика ajax, а затем попробуйте создать некоторые данные самостоятельно и посмотреть, сможете ли вы получить данные на стороне клиента. Если нет, то проверьте ваш запрос ajax, используйте этот бит кода для печати вашего$_GET значения.

ob_start();
print_r($_GET);
$output = ob_get_clean();
file_put_contents('debug.txt',$output);

Я уверен, что вы обнаружите, что что-то не так, если это не сработает, попробуйте сделать ваш AJAX-вызов в небольшой тестовой версии, это звучит забавно, но это помогает мнемного времени выясняю, что не так.

Я надеюсь, что это поможет вам, и у меня нет других идей, потому что меня никогда не складывали больше, чем это ....:)

Удачи!

0 голосов
/ 10 декабря 2010

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

Кстати, сейчас я получаю кучу Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'username'@'192.168.110.101' (using password: YES) in E:\web\username\configurations.php on line 10 Could not connect: Access denied for user 'username'@'192.168.110.101' (using password: YES) ошибок на нескольких других страницах вашего сайта, но, возможно, вы просто работаете над этим.

0 голосов
/ 10 декабря 2010

Код, который вы разместили, в основном не имеет отношения к проблеме - бит, который отвечает за визуализацию таблицы, находится в AjaxDataGrid.class.php

Сгенерированный HTML имеет много зависимостей - проверьте, что выможет получить доступ к каждому из JavaScript и CSS-файлов из браузера.

Из вашего вопроса я предполагаю, что содержимое после оператора require_once () и сетки отображается нормально - то есть сценарий не останавливается, потому что не может прочитать включаемый файл.

0 голосов
/ 07 декабря 2010

Некоторые вещи, которые приходят на ум и могут стоить двойной проверки:

  1. Содержит ли ваша база данных данные?
  2. Правильно ли загружаются ваши ссылки на JavaScript? Используйте firebug для проверки.
  3. Вы проверили на наличие ошибок PHP? Как require_once() заявления, которые не работают?

Вы можете проверить, поместив этот PHP перед выполнением любого другого кода:

error_reporting(E_ALL); 
ini_set('display_errors', '1'); 

Это все, что я могу думать сейчас.

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