2017-02-18 8 views
0

Я хочу отправить POST метод localhost который некоторое содержание в body часть. Мой код из vue файла:Vue.js тело почтового метода всегда пусто

methods: { 
     login(){ 
      var data = { 
       username: 'admin', 
       password: 'admin' 
      } 
     this.$http.post("http://localhost:8081/login", data) 
     .then(response => { 
      console.log(response) 
     }) 
     } 
    } 

Я использую Spring-загрузку в качестве сервера и иметь точку останова в attemptAuthentication методе от реализации AbstractAuthenticationProcessingFilter класса. Для проверки body я использую:

String myBody= httpServletRequest.getReader().lines().collect(Collectors.joining(System.lineSeparator())); 

но String всегда пустой (точки останова работы). Я попытался поставить некоторые значения вручную post метод как:

this.$http.post("http://localhost:8081/login", "exampleData") 

но значение по-прежнему пусто.

Когда я отправляю тот же метод из Почтмана - он работает очень хорошо - myBody содержит правильное значение.

Что не так с моим кодом?

@Update

1) для сырой и JSON я настроил Почтальон:

enter image description here в моем Java класса:

myBody = {"username":"admin","password":"admin"} 
myContentType = application/json 

2) Для формы: enter image description here

java классы выглядят так:

myBody = 
------WebKitFormBoundarykeEtHWmW4BBv2y0t 
Content-Disposition: form-data; name="username" 

admin 
------WebKitFormBoundarykeEtHWmW4BBv2y0t 
Content-Disposition: form-data; name="password" 

admin 
------WebKitFormBoundarykeEtHWmW4BBv2y0t-- 

@Update

Я добавил заголовок для моего post метода:

methods: { 
     login(){ 
     this.$http.post("http://localhost:8081/login", "exampleData", { 
      headers: { 
      'content-type' : 'application/json' 
      } 
     }) 
     .then(response => { 
      console.log(response) 
     }) 
     } 
    } 

но в классе Java myBody пуст и content-type является null. Нет ошибок в консоли (в режиме просмотра)

ответ

0

Вы должны проверить, есть ли у вашего сервера запрос body или form?

как так:

enter image description here

проверка Брауэр PARAMS как так:

enter image description here

+0

Я отредактировал мой пост – littlewombat

+0

Если вы используете 'форм-data' для передачи данных, вы должны убедитесь, что контент-тип запроса для броузера = 'application/x-www-form-urlencoded; charset = utf-8' – Surmon

+0

Мое решение использует тип' application/json'. – Surmon

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