2015-10-23 3 views
1

Я написал код, приведенный ниже, чтобы отправить запрос на $ http.post

$http({ 
    url: '/OA_HTML/ReportColumnSelection.jsp', 
    method: 'POST', 
    data: JSON.stringify({myData : $scope.reportColumns}), 
    headers: {'Content-Type': 'application/json;charset=utf-8'} 
    }) 
    .success(function(response){ 
    $scope.viewColumns = response.columnData; 
    }) 
    .error(function(response){ 
    //Error Log 
    console.log('Inside saveReportColumns Error'); 
    }); 

Теперь проблема я не могу получить "MyData" JSON в ReportColumnSelection .jsp

request.getParameter("myData"); 

Пожалуйста, дайте мне знать, если я делаю что-то неправильно.

AngularJS Version 1.4.7

код, чтобы сохранить отчет столбцы:

$scope.saveReportColumns = function() { 
     console.log('Inside saveReportColumns'); 
     $http({ url: '/OA_HTML/eis/jsp/reporting/reports/newreport/columnselection/EISRSCReportColumn‌​SelectionAM.jsp', 
     method: 'POST', 
     data: JSON.stringify({myData:$scope.reportColumns}), 
     headers: { 
      'Content-Type': 'application/json;charset=utf-8' 
     } 
    }).success(function(response){}).error(function(response){ 
     //Error Log console.log('Inside saveReportColumns Error'); 
    }); 
}; 
+0

Вы можете разместить еще один код из вашего JSP, где вы отправляете запрос и обрабатываете ответ? –

+0

Вы пытаетесь 'data: {myData: $ scope.reportColumns},'? – dfsq

+0

@dfsq спасибо за предложение. Проблема была решена, когда я отправил запрос по вашему запросу, и в ответ я использовал request.getInputStream() –

ответ

1

$http услуги по умолчанию тип контента application/json, что ваш JSP не может разобрать.

Вы можете,

  • изменить тип содержимого запроса на application/x-www-form-urlencoded;charset=utf-8 (который может иметь и другие последствия)

или

  • читать как поток, как показано ниже ,

InputStream body = request.getInputStream();

Это может быть хорошей идеей, чтобы оставить тип содержимого, как она есть, и вместо того, чтобы прочитать тело запроса и разобрать его с библиотекой, такие как google/json

BufferedReader reader = request.getReader(); 
Gson gson = new Gson(); 
+0

, проблема была решена с помощью вашего решения. Я могу получить JSON. Проблема заключается в том, что я должен использовать Java 1.4, к сожалению GSON не поддерживает этот vesrion :( –

+0

Тогда возможно [Джексон] (http://wiki.fasterxml.com/JacksonDownload) может работать? –

+0

Я удалил тип контента и использовал [ JSON] (https://codeload.github.com/chargebee/JSON-java/zip/master), который совместим с Java 1.4 –

Смежные вопросы