Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Решил написать свою альтернативу $.post $.get JQuery
У меня получается отправить JSON, а сервер его не понимает и посылает меня на х*й => поэтому надо как массив, понятный php (data[0][key] piket1)
Как это сделать? Прикреплено изображение (Нажмите для увеличения)
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
так вы JSON передали как ключ, как теперь пых отличит JSON от application/www-x-form-urlencode d формата. и во вторых при ПОСТ запросе нужно явно указивать данный заголовок.
Также непонятно то, что вы используете XmlHttpRequest 2 и в ручную парсите JSON, в то время как можно указать
Покинул форум
Сообщений всего: 202
Дата рег-ции: Окт. 2011 Откуда: с Марса
Помог: 1 раз(а)
esterio пишет:
так вы JSON передали как ключ, как теперь пых отличит JSON от application/www-x-form-urlencode d формата. и во вторых при ПОСТ запросе нужно явно указивать данный заголовок.
Ну так помогите мне указать данный заголовок. Я вижу, что на сервере передан не массив php с квадратными скобками, а JSON-объект. У меня два выхода: либо грамотно что-то где-то указать, либо руками собирать массив d[][]...
Какой тут нужен код?
OrmaJever
Отправлено: 10 Декабря, 2014 - 22:11:35
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Contr пишет:
а сервер его не понимает и посылает меня на х*й
стоп, на этом давайте остановимся. Во-первых что приходит на сервер в массиве $_POST?
при вызове
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
esterio
Отправлено: 11 Декабря, 2014 - 00:57:29
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
OrmaJever
там насколько я понял по коду возвращаеться вункция которая принимает три аргумента URL, Error и Success. причем если указан третий аргумент как функция то второй никак не влияет на логику приложения. хотя если указан второй как обект а третий не указан то тогда ошибка визова калбека будет. ну я так понял по коду приведенном више
там насколько я понял по коду возвращаеться вункция которая принимает три аргумента URL, Error и Success. причем если указан третий аргумент как функция то второй никак не влияет на логику приложения. хотя если указан второй как обект а третий не указан то тогда ошибка визова калбека будет
Это я исправлю. Меня больше волнует как отправить данные на сервер также, как это делает $.post. (Добавление)
Я вот думаю, может
1) отказаться от new FormData(),
2) добавить xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
3) сформировать данные (?)
с третьим пунктом проблемы...
DeepVarvar
Отправлено: 11 Декабря, 2014 - 08:42:08
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Да, именно в этом месте, можно даже вынести в отдельную ф-цию. И прогнать там весь обьект. А что, именно в том как прогнать обьект и есть твоя загвоздка?
Покинул форум
Сообщений всего: 202
Дата рег-ции: Окт. 2011 Откуда: с Марса
Помог: 1 раз(а)
DeepVarvar пишет:
Да, именно в этом месте, можно даже вынести в отдельную ф-цию. И прогнать там весь обьект. А что, именно в том как прогнать обьект и есть твоя загвоздка?
Да. Сейчас буду мучаться...
Contr
Отправлено: 11 Декабря, 2014 - 11:51:28
Частый гость
Покинул форум
Сообщений всего: 202
Дата рег-ции: Окт. 2011 Откуда: с Марса
Напомню, надо собрать массив как на рисунке.
Как числовой массив собрать - получается, а как сделать с текстом? d[0][key]
Вот key то как запихнуть в квадратные скобки? Прикреплено изображение (Нажмите для увеличения)
DeepVarvar
Отправлено: 11 Декабря, 2014 - 13:35:02
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Покинул форум
Сообщений всего: 202
Дата рег-ции: Окт. 2011 Откуда: с Марса
Помог: 1 раз(а)
Вот я и пытаюсь...
Пусть есть
var d = JSON.parse('{"0":{"key":"piket1","val":"4100"},"1":{"key":"metr1","val":"10"},"2":{"key":"piket2","val":"4200"},"3":{"key":"metr2","val":"20"},"4":{"key":"about","val":"text"}}');
var d = JSON.parse('{"0":{"key":"piket1","val":"4100"},"1":{"key":"metr1","val":"10"},"2":{"key":"piket2","val":"4200"},"3":{"key":"metr2","val":"20"},"4":{"key":"about","val":"text"}}');
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.