【问题标题】:angularjs 1.5 / laravel bad request 400angularjs 1.5 / laravel 错误请求 400
【发布时间】:2017-01-08 04:36:09
【问题描述】:

当我使用我的 Angular 应用程序向我的 laravel api 发出 POST 请求时,我收到错误错误请求 400,但是 GET 请求正常工作,我也使用 POSTMAN 发出 POST 请求并且它工作正常,这是我的代码:

$http.get('http://localhost/laravel/datingApp/jobapi/public/api/user/users');

这个 get 请求有效,这个 post 请求无效(数据是一个 js 对象 {'email': 'value','password': 'value'}):

  $http({

            url: 'http://localhost/laravel/datingApp/jobapi/public/api/user/login',
            method: 'POST',
            contentType: "application/json",
            data: data

  }).success(function(data) {

            console.log(data);

  });

我也尝试过以常规方式这样做:$http.post('blabla'); 但它也不起作用:(

编辑:抱歉没有包含错误:

angular.js:12011 POST   
http://localhost/laravel/datingApp/jobapi/public/api/user/login 400 (Bad Request)

(anonymous function)          @ angular.js:12011
sendReq                       @ angular.js:11776
serverRequest                 @ angular.js:11571
processQueue                  @ angular.js:16383
(anonymous function)          @ angular.js:16399
$eval                         @ angular.js:17682
$digest                       @ angular.js:17495
$apply                        @ angular.js:17790
(anonymous function)          @ angular.js:25890
dispatch                      @ jquery.min.js:3
q.handle                      @ jquery.min.js:3

【问题讨论】:

  • 您能否提供有关您收到的错误的更多信息?您是如何定义 {data} 的?为什么要在它周围加上大括号?
  • 需要查看确切的错误
  • 对不起,我添加了错误代码,@piscator 数据是一个 js 对象 {'email' : value, 'password' : value} ,这是我在 {} 中添加的错字应该只是数据
  • 可能 json 无效(您可以使用在线解析器检查),或者服务器不期望 json 而是表单数据?
  • jaysingkar 意味着在您的 http 调用中添加一个 error(function(error, status)) 方法来记录错误(请参阅文档)。此外,您可以使用 chrome 检查器(chrome 控制台)中的网络选项卡来记录网络日志。这将显示来自服务器的响应。

标签: angularjs api laravel


【解决方案1】:

这是一个愚蠢的错误,但感谢@piscator,我找到了它,当验证规则不满足时,Laravel 默认返回 400,所以我的输入一直都是错误的,这就是我得到 400 的原因。

【讨论】:

  • 别担心,很高兴您找到了解决方案。
【解决方案2】:

如果发布请求是通过邮递员工作的,那么当您的 Angular 应用程序发出发布请求时,由于浏览器 CORS 政策,它似乎会卡住。

您需要在响应的标头中包含 access-control-allow-origin 才能使发布请求生效。

【讨论】:

  • angular 与 api 在同一个域中 + 我在 Laravel api 的中间件 CORS 中有 `->header('Access-Control-Allow-Origin', '*');`跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-14
  • 2016-12-29
  • 1970-01-01
  • 1970-01-01
  • 2017-04-10
  • 2017-08-28
相关资源
最近更新 更多