Java Http POST ajax эквивалент для отправки структурированных данных JSON

58
7

Обычно я использую $.ajax для отправки моих данных приложения в свой WebService, как показано ниже:

$.ajax({
type: "POST",
url: server + "/fosco/set",
data: {
"page":"0",
"requestType":"DataSet",
"dataset":createClientJSONObject(),
"params":"[]"
},
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'User-Id' : localStorage.getItem("USER_ID")
},
success: SuccessSetData

Теперь я использую тот же WebService для своего Java-приложения, поэтому я задаюсь вопросом, как эквивалентный код отправляет его как приложение Java, используя HTTP POST. Я начал что-то вроде следующего, но не работает:

String url = "http://localhost/service/index.php/fosco/set";
String returnBody = "";
Gson gson = new Gson();
Client fc = new Client();
try {
HttpRequest httpRequest = new HttpRequest();
Hashtable<String, String> params = new Hashtable<String, String>();
params.put("page", "0");
params.put("requestType", "DataSet");
params.put("dataset", gson.toJson(new Client()));
params.put("params", "[]");
returnBody = httpRequest.post(url,
params);

Я отлаживал свой PHP WebService и показывал разные наборы данных, он показывает набор данных JAVA Application как одну целую String, но $.ajax как структурированный объект JSON. И он не работает с кодом JAVA.

Вопрос: Как перенести POST файл $.ajax, как и мой, как Java Http POST?

спросил(а) 2015-01-22T06:08:00+03:00 5 лет, 9 месяцев назад
1
Решение
99

И вот как я понял...

Во-первых, отлаживая серверное приложение с помощью var_dump, я увидел, что мое приложение Java отправляет на нем одну строку со всем JSON, каким-то другим способом для моего веб-приложения (JavaScript). Он должен с помощью драйверов библиотеки определять, как обрабатывать данные.

Приложение JAVA отправляет данные как один объект JSON как String.

Однако каким-то странным способом мой WebService получает данные из моего WebApplication JS как структурированного объекта JSON как есть.

Затем я использовал функцию PHP json_decode (String, true) на моей стороне веб-службы для декодирования строки JAVA как объекта JSON, чтобы ее можно было распознать.

ответил(а) 2015-01-22T19:50:00+03:00 5 лет, 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема