Что не так в этом фрагменте? В пост-запросе, в параметрах я вижу свою отправляемую json-строку, но по ней написано "No properties". Если бы json был корректный, то я бы получил список всех параметров. Вот так я формирую json: Код (Text): var JsonString = "{" + "\"tab\": \"People\"," + "\"company_url\":" + company_url + ",\"company_name\":" + company_name + ",\"users\": [" + "{" + "\"firstName\":" + firstName + ",\"lastName\":" + lastName + ",\"contact_position\":" + contact_position + ",\"contact_location\":" + contact_location + ",\"linked_in\":" + linked_in + ",\"facebook\":" + facebook + ",\"twitter\":" + twitter + ",\"google_plus\":" + google_plus + "}" + "]" + "}"; И отправка запроса: Код (Text): var json = JSON.stringify(JsonString); xhr.open('POST', 'http://127.0.0.1', true); xhr.setRequestHeader('Content-type', 'application/json; charset=utf-8'); ... xhr.send(json); На сервере при преобразовании JSON в массив получаю пустой массив. Мне кажется, что мой JSON определяется как строка. Как этого избежать? Формировать сам JSON нужно будет в строке, в цикле. Пока цикла нет.
Да, действительно это проще, чем казалось. Только теперь не понятно как мне добавлять туда переметры в цикле. Делаю так: Код (Text): var jsonString = { "tab": "People", "company_url": company_url, "company_name": company_name, "users": []}; Затем в цикле добавляю юзеров: Код (Text): JsonString.users["firstName"] = firstName; JsonString.users["lastName"] = lastName; JsonString.users["contact_position"] = contact_position; JsonString.users["contact_location"] = contact_location; JsonString.users["linked_in"] = linked_in; JsonString.users["facebook"] = facebook; JsonString.users["twitter"] = twitter; JsonString.users["google_plus"] = google_plus; Но почему-то нассив юзеров при отправке запроса остается пустым. Что не так?
Вот. Читай, вникай, осознавай. --- Добавлено --- Создаешь объект, наполняешь, заворачиваешь в JSON, отправляешь на сервер. там разворачиваешь (json_decode($json, true)), и получаешь ассоциативный массив.