angularjs中的POST 400错误请求
POST 400 bad request in angularjs
我正在将angularjs与nodejs集成,现在我在browser.http 400中遇到错误。我想知道是前端错误还是后端错误,我需要解决方案。
register.html
<form class="register-form" name="myRegisterForm" ng-hide="login" ng-submit="register(user)" novalidate>
<input type="text" placeholder="Name" ng-model="user.name" name="username" minlength="5" maxlength="25"/>
<span style="color:red" class="error" ng-show="myRegisterForm.username.$error.minlength">Given Name should be above 5 letters.</span><br/>
<input type="text" placeholder="Phone number" ng-model="user.phone" name="phonenum"
minlength="10" maxlength="10" ng-pattern="/^[0-9-]*$/" required/>
<span style="color:red" ng-style="{'padding-top':'2px'}" ng-show="myRegisterForm.phonenum.$error.pattern">Please enter numbers only.</span>
<span style="color:red" class="error" ng-show="myRegisterForm.phonenum.$error.minlength">Phone number must be 10 digits .</span><br/>
<input type="text" name=email placeholder="Email address" ng-model="user.email"
ng-pattern="/^[a-z]+[a-z0-9._]+@[a-z]+'.[a-z.]{2,5}$/" required/>
<span style="color:red" ng-style="{'padding-top':'2px'}" ng-show="myRegisterForm.email.$error.pattern">Please enter correct mail id</span><br/>
<input type="password" placeholder="Password" ng-model="user.password" minlength="8" maxlength="16"/>
<input type="password" placeholder="Confirm password" ng-model="user.cpassword" minlength="8" maxlength="16"/>
<span style="color:red" ng-style="{'padding-top':'2px'}" ng-show="user.password !== user.cpassword">Password is not match</span>
<textarea placeholder="Address" ng-model="user.address"></textarea>
<input type="submit" value="SIGN UP" />
<p class="message">Already registered? <p></form>
register.js
$scope.register = function (user) {
var data = {
"user" : {
"name": user.name,
"email": user.email,
"phone": "+91"+ user.phone,
"password": user.password,
"address": user.address
}
};
$http({
method: 'POST',
url: '',
headers: {'Content-Type': 'application/json'},
data: data
}).then(function successCallback(response) {
if (response.data) {
sharedServices.set(response.data);
$location.path('/login');
}
console.log(response);
}, function errorCallback(response) {
if (response) {
$scope.message = response.data;
}
});
};
根据维基百科的HTTP状态代码列表:
400错误请求
服务器 由于明显的客户端错误(例如,格式错误的请求语法、无效的请求消息成帧或欺骗性请求路由)。[36]
用外行的话来说,data
是无效的:
var data = {
"user" : {
"name": user.name,
"email": user.email,
"phone": "+91"+ user.phone,
"password": user.password,
"address": user.address
}
};
当服务器尝试处理data
时,它检测到data
无效并发送400
。
以下是一些可能的原因:
data
缺少必需的值data.phone
无效data.address
无效data.password
无效(可能太弱了…?)- 缺少一个重要请求
header
您应该检查data
的格式是否符合服务器的期望。
您还应该检查响应主体,看看它是否包含更具体的错误。
不知怎么的,我通过更改解决了这个问题
data: {}
至
params: {}
相关文章:
- 遇到400错误请求(Angular+WebAPI)的问题
- 向Yahoo Finance API发出JSONP请求时获得400错误请求
- 尝试发布大型JSON数据时出现错误请求错误
- AWS API网关返回400错误请求,但Postman工作正常
- AngularJS错误:请求的键的值不是对象.keys@[本地代码]
- 岗位http://localhost:3000/api/signup400(错误请求)
- 云蚁发布错误请求
- Django Ajax 调用返回 403 错误请求
- 仅在 IE 中使用 jQuery 发布数据时出现错误请求错误
- angularjs中的POST 400错误请求
- RegEx导致无限循环/错误-请求的实体太大
- 400错误请求仅使用AngularJs,与jQuery一起使用
- 在jquery ajax POST中获取400(错误请求)错误
- GET 400(错误请求)与 js 中的节点
- Jasmine - Ajax Spyon 错误请求
- Gmail API 返回 400 个带有批处理请求的错误请求
- 一个控制器中的多个路由会导致 400:错误请求
- 跨源资源错误:请求的资源上不存在“访问控制允许源”标头
- 将 png 图像从 JavaScript 传递到 PHP(错误:请求 URI 太大)
- ajax post 调用导致将数组发送到弹簧休息控制器时出现 400(错误请求)