$.ajax({
'url' : "http://localhost:7090/"+ 'manageApp',
'type': 'POST',
'dataType' : 'jsonp',
"headers": {
"content-type": "application/json"
},
"processData": false,
"data": "{\n\t\"symbolicName\" :\"fakeapp\",\n\t\"action\" : \"getInfo\"\n}",
"async": true,
'crossDomain':true,
'success': function() { callback(false); },
'error': function() { callback(false); }
});
}
Это код в файле js внутри фреймворка django. Я хочу сделать почтовый запрос к приложению, работающему локально, которое анализирует тело запроса JSON и возвращает ответ JSON.
manageApp(payload)
JsonObject body = new JsonParser().parse(payload).getAsJsonObject();
Но полезная нагрузка, которую я получаю:
callback=jQuery111109410441669038576_1553268399194&{%22symbolicName%22:%22fakeapp%22,%22action%22:%22getInfo%22}&_=1553268399195
, который синтаксический анализатор gson не может проанализировать и, таким образом, дает jsonmalformed исключение. Я хочу, чтобы полезная нагрузка была,
{
"symbolicName" :"fakeapp",
"action" : "getInfo"
}
Приложение правильно обрабатывает ответ JSON, когда я выполняю пост-запрос с использованием POSTMAN.
P.S Я использую NANOHttpd для получения тела JSON из запроса,
Map<String, String> requestParams = new HashMap<>();
try {
session.parseBody(requestParams);
} catch (IOException ioe) {
} catch (ResponseException re) {
}
pluginManagerService.manageApp(session.getQueryParameterString());