Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как отдать json, Не знаю где косяк 
V
    Опции темы
Marlik
Дата 2.10.2013, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 25.2.2007
Где: Рязань

Репутация: нет
Всего: нет



Привет, дали тут скриптик на jquery. Воткнул я его на страницу. Скриптик по селекту запрашивает мой cgi скрипт. Так вот, на страницу не возвращается ответ от скрипта. Скрипт cgi рабочий, проверял до этой строки:

Код

print $cgi->header(-type => "application/json", -charset => "utf-8");
print $hash_ref;


Тут я выставляю заголовок, и отправляю данные назад на страницу. Вопрос, правильно ли так возвращать? Как проверить, ушли-ли данные в скрипт? Спасибо.


PM WWW Skype   Вверх
Jimy
Дата 2.10.2013, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 4.7.2010

Репутация: нет
Всего: 3



Цитата

Как проверить, ушли-ли данные в скрипт?

Во всех современных браузерах есть средства отладки. Там можно посмотреть, что возвращается с сервера.
PM   Вверх
krypt3r
Дата 2.10.2013, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 9.6.2009

Репутация: нет
Всего: 16



Ну сделайте в JS-коде alert (data) и посмотрите, валидный ли JSON отправляется. Чую, что нет, отправляете ссылку на хэш. Если так, use JSON
PM MAIL   Вверх
Marlik
Дата 2.10.2013, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 25.2.2007
Где: Рязань

Репутация: нет
Всего: нет



Что прислал jquery я проверил, валидно, и что я потом перевел все в формат json тоже проверил. А вот ушли-ли данные, вопрос?
PM WWW Skype   Вверх
Marlik
Дата 2.10.2013, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 25.2.2007
Где: Рязань

Репутация: нет
Всего: нет



Цитата(krypt3r @ 2.10.2013,  12:03)
Ну сделайте в JS-коде alert (data) и посмотрите, валидный ли JSON отправляется. Чую, что нет, отправляете ссылку на хэш. Если так, use JSON

Что-то не понял? Я использую use JSON:PP. Не получается хэш заенкодить. Только как ссылку на хэш, ну и отправляю ее. Попробую сам хэш послать. 
PM WWW Skype   Вверх
Marlik
Дата 3.10.2013, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 25.2.2007
Где: Рязань

Репутация: нет
Всего: нет



Все, заработало... правда JSON не парсит... но уже легче, видно в какую сторону копать. Может кому-то пригодится скриптик на Perl который возвращает JSON:

Код

#!/usr/bin/perl -w
    $| = 1;
    use strict;
    use CGI;.....
    use DBI;
    use JSON::PP;

    my $cgi = new CGI;
....
    my %part;
    my $hash_ref = \%part;
    my $state = $cgi->param( 'country' );

    my $db = 'sity';
    my $host = 'localhost';
    my $user = 'marlik';
    my $passwd = '*******';

    my $dbh = DBI->connect("DBI:mysql:$db:$host", $user, $passwd) || die "$!";
    my $sth=$dbh->prepare("select id_region, name from region where id_country='$state'");
    $sth->execute:

    while(my($key, $value) = $sth->fetchrow()){
    $part{$key} = "$value";
}
    $sth->finish;
    $dbh->disconnect;

    $hash_ref = encode_json $hash_ref;

    print $cgi->header(-type => "application/json", -charset => "utf-8");
    print "$hash_ref";

    exit();





Это сообщение отредактировал(а) Marlik - 3.10.2013, 07:39
PM WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.1054 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.