angularjs POST 400 (Bad Request)

1,先来看看控制台错误


angularjs POST 400 (Bad Request)_第1张图片

2,再通过network查看具体的message,说所需的字符串参数phone不存在。WTF?!!!


angularjs POST 400 (Bad Request)_第2张图片

查阅资料,大神(一步小僧)写的一篇关于angularjs $http提交数据探索文章给我启示,在此贴出链接点击打开链接

在此谢过大神。

由于我是初步探索angularjs,在项目过程中并没有实质性解决问题,只是改了提交方式,后台不报错并且数据可以传输到后台就OK了,待我日后有时间,一定要好好研究一下此原理,现言归正传。

如果使用$http.post提交的话,就会报400错误。

angularjs
ecoideovdv.controller('register', ['$scope', '$http', 'ngNotify','$uibModal','$interval',function ($scope, $http, ngNotify,$uibModal,$interval) {
	$scope.reg = {phone:null};
	$scope.SMSCode = function(){
           $http.post('reg/sms/phoneCode',$scope.reg).then(function (data) {
	        console.log(data.result);
	    });
	}

后台Controller

@Controller
@RequestMapping("/reg/sms")
public class SmsRegisterController extends AuthorizedController {

    @Autowired
    private HttpSession session;

    	 Logger logger = Logger.getLogger(this.getClass().getName());
    	 
    	 @RequestMapping(value="/phoneCode", method = RequestMethod.POST)
    	 @ResponseBody
    	 public String smsRegist(@RequestParam String phone){
    		String httpUrl = "http://";
    		String content = "";
    		String code = "";//验证码
    		for(int i=0;i<6;i++){
    			code += randomChar();
    		}
//后面省略

其实很简单,将angular提交方式改为jq的ajax提交方式($.post)就OK了。

ecoideovdv.controller('register', ['$scope', '$http', 'ngNotify','$uibModal','$interval',function ($scope, $http, ngNotify,$uibModal,$interval) {
	$scope.reg = {phone:null};
	$scope.SMSCode = function(){
	   $.post('reg/sms/phoneCode',$scope.reg).then(function (data) {
	        console.log(data.result);
	    });
	}
2018.4.9—————先这样记录下来吧,未完待续——————————————————






你可能感兴趣的:(前端angularjs)