Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> отправка JSON на сервер 
V
    Опции темы
opart
Дата 24.3.2010, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброе время суток!
Буду благодарен, если укажите в чем ошибка.
Суть проблемы в следующем: на клиенте генерирую матрицу, конвертирую в JSON и отсылаю серверу GET'ом.
Код
createRequestObj();
send_data = JSON.stringify(matr); 
var url = "test.php?matr=" + send_data;
request.open("GET", url, true);
request.onreadystatechange = fromServer;
request.send(null);
На сервере просто принимаю сообщение и сразу отправляю клиенту (это пока просто для проверки взаимодействия).
Код
<?php
require_once('JSON.php'); 
 
$json_matr = $_GET['matr'];
echo $json_matr;
?>


Так вот, отправляет клиент корректный JSON, а получает наоборот, некорректный, который не парсится. Например, 
Код

[[\"4\",\"4\",\"5\"],[\"3\",\"8\",\"5\"],[\"4\",\"5\",\"7\"]] 

Откуда "\" берется, как от этого избавиться ?
Надеюсь на помощь.
PM MAIL   Вверх
bars80080
Дата 24.3.2010, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



magic_quotes видать включён

пропусти принятый текст через $json_matr = stripslashes($_GET['matr']);

или отключи эту директиву нафиг.

Код

php_flag magic_quotes_gpc = off

вроде так в .htaccess прописать надо
PM MAIL WWW   Вверх
skyboy
Дата 24.3.2010, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Цитата(bars80080 @  24.3.2010,  20:29 Найти цитируемый пост)
вроде так в .htaccess прописать надо 

без "="
PM MAIL   Вверх
opart
Дата 24.3.2010, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



bars80080, большое спасибо!! stripslashes() помогло. Но ошибка есть все еще. дело в том , что в .htaccess только Options +MultiViews +ExecCGI прописано. более файла  .htaccess не нашел... в httpd.conf поискал еще, такой опции не нашел. я так понимаю .htaccess плохо ищу.
еще раз спасибо!
PM MAIL   Вверх
mxt
Дата 24.3.2010, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



в php.ini вырубай её.


ибо в PHP 6 её не будет ( smile )

--------------------
PM MAIL   Вверх
skyboy
Дата 24.3.2010, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Цитата(opart @  24.3.2010,  20:57 Найти цитируемый пост)
дело в том , что в .htaccess только Options +MultiViews +ExecCGI прописано.

дык, тебе и предлагают, не найти и посмотреть. а добавить. строчку. в .htaccess
PM MAIL   Вверх
opart
Дата 24.3.2010, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



skyboy, да, я понимаю. добавлял, без результатов..


mxt, да, и правда, в php.ini есть она, спасибо. Но у всех magic_quotes_* выставлено off. так что, видимо, не в этом дело.
PM MAIL   Вверх
bars80080
Дата 25.3.2010, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



она, нет никаких иных директив. что-то у тебя не контачит

может они закомментированы? а версия апач и пхп какие? точно без "=" добавил? а как?

Добавлено через 46 секунд
и поставь её в начале

кстати, если не поможет попробуй php_flag заменить на php_value
PM MAIL WWW   Вверх
mxt
Дата 25.3.2010, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(opart @  24.3.2010,  23:16 Найти цитируемый пост)
mxt, да, и правда, в php.ini есть она, спасибо. Но у всех magic_quotes_* выставлено off. так что, видимо, не в этом дело. 

скопируй сюда весь блок настроек где есть magic_quotes.

или проще:  скопируй весь php.ini на http://gist.github.com/  (выбери подсветку INI она там после середки)

Добавлено через 3 минуты и 32 секунды
Цитата(mxt @  25.3.2010,  00:10 Найти цитируемый пост)
(выбери подсветку INI она там после середки) 

или в поле "name this file"  напиши php.ini и он сам поймет как подсвечивать
--------------------
PM MAIL   Вверх
opart
Дата 25.3.2010, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



bars80080, Apache/2.2.4 (Win32)   PHP/5.3.1 


mxt, bars80080, 
вот такой блок настроек был:
Код

; Magic quotes
;
 
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc  Off
 
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off
 
; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off


изменил на:
Код

; Magic quotes
;
 
; Magic quotes for incoming GET/POST/Cookie data.
php_flag magic_quotes_gpc  off
 
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off
 
; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off

делал и php_value ... 
PM MAIL   Вверх
mxt
Дата 25.3.2010, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



не, в php.ini первый вариант был правильным.

Добавлено через 1 минуту и 44 секунды
http://en.php.net/manual/en/function.get-m...-quotes-gpc.php



что покажет такой код:
Код

echo get_magic_quotes_gpc() ? "ON" : "OFF";

--------------------
PM MAIL   Вверх
bars80080
Дата 25.3.2010, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



для php.ini
Код

magic_quotes_gpc = Off


а для .htaccess:

Код

php_flag magic_quotes_gpc Off

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


Новичок



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

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



bars80080, mxt,
проблему решил.  
Создал .htaccess с 
Код

php_flag magic_quotes_gpc Off
 ,
поместил в папку со скриптами своими. Не думал, что надо так, Google подсказал )
Огромное спасибо за помощь!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




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


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

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