2016-10-04 2 views
0

Я пытаюсь передать ответ моего контроллера отдыха, когда пользователь пытается зарегистрировать форму в моем java-скрипте, является ли имя пользователя доступным или нет на основе возвращаемого оператора контроллером пружины . Тем не менее, я пытался использовать атрибут model в моем контроллере весны. Каким образом я фиксирую это в своих js. С точки зрения сервлетов это делается, поскольку мы имеем out.write, как это можно сделать с весной.Возвращающий ответ регулятора пружины на угловой js

Моя весна контроллер

@RequestMapping(method = RequestMethod.POST,value = "/checkUserName", headers = "Accept=application/json") 
public org.weber.nag.model.UserRegistration checkUserName(@RequestBody org.weber.nag.model.UserRegistration userReg, Model model) { 
    userDao.getAllUsers(userReg); 
    System.out.println(userDao.getAllUsers(userReg)); 
    model.addAttribute("success", userReg); 
    return userReg; 
} 

AngularJS

var formData = { 
       'userName' : $scope.ctrl.newCustomer.userName 
      }; 
     var response =$http.post('http://localhost:8081/Weber/user/checkUserName', formData); 
     response.success(function(data, status, headers, config) { 

      var cntrlMessage = $('#message'); 
       message = cntrlMessage; 
       //alert(message); 
      alert(message); 
      $scope.list.push(data); 
     }); 
     response.error(function(data, status, headers, config) { 
      alert("User name already exists."); 
     }); 

обновленный Spring Controller

@RestController 
@RequestMapping(value = "/user") 
public class UserRegistrationControllerImpl{ 

@RequestMapping(method = RequestMethod.POST,value = "/checkUserName", headers = "Accept=application/json") 
public String checkUserName(@RequestBody org.weber.nag.model.UserRegistration userReg, ModelMap model) { 
    userDao.getAllUsers(userReg); 
    System.out.println(userDao.getAllUsers(userReg)); 
    String message = userDao.getAllUsers(userReg); 
    model.addAttribute("message", message); 
    return message; 
} 
} 

Я попытался ударить контроллер отдыха с $ HTTP он работал хорошо, как я могу взять Покой моего контроллера отдыха говорит, что доступный пользователь/пользователь недоступен для моего js в качестве предупреждения.

Спасибо

ответ

0

Ваш код, кажется, использует Ajax, чтобы сделать работу.

Тогда ваш метод успеха Ajax ожидает принятия текстового ответа.

С этим сказанным:

  1. От контроллера просто вернуть любую строку/текст, который вы хотите отобразить в качестве законного ответа: user available/user not available

  2. аннотировать контроллер с @ResponseBody, который расскажет Spring для верните ответ строки внутри ответа HTTP. Таким образом, ваш метод успеха Ajax будет принимать ответ HTTP с сообщением user available/user not available.

  3. Убедитесь, что вы на самом деле получить эту строку в файл JS с помощью console.log

    @RequestMapping(method=RequestMethod.POST,value="/checkUserName") 
    @ResponseBody 
    public UserRegistration checkUserName(@RequestBody UserRegistration userReg, Model model) { 
        userDao.getAllUsers(userReg); 
        System.out.println(userDao.getAllUsers(userReg)); 
        model.addAttribute("success", userReg); 
        return userReg; 
    } 
    
+0

Да я уже аннотированный мой пружинный контроллер с @RestContorller. Попробовал вернуть строковый ответ, но не повезло, что он не отображается в консоли. Я отправлю модуль обновления в свой пост. – mark

+0

Я говорил о '@ ResponseBody', а не' @ RestContorller' –

+0

RestCotroller тоже будет заботиться о Responsebody, если я прав. Я добавлю добавленную вами аннотацию :) Даже при том, что я добавляю тело ответа, все еще не показывающее никакого предупреждения в my js, но когда я нахожусь на контроллере, я вижу «доступный пользователь/пользователь недоступен». Моя консоль eclipse. – mark

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