【问题标题】:How to Handle Data Posted From Angular in Laravel如何在 Laravel 中处理从 Angular 发布的数据
【发布时间】:2019-06-07 18:29:43
【问题描述】:

我正在尝试使用 AgularJs 发布到 Laravel 的数据更新我的数据库,但我无法让 laravel 处理数据。

路线

Route::get('/api/editsubpages/', 'NewSubPagesController@editsubpage');

Laravel 控制器

public function editsubpage(Request $request)
{
    dd(json_decode($request->getContent(), true)); // returns empty array

    // here goes code for updating database
    return response()->json($request->all(), 200);
}

角度控制器

$http({
    method: 'POST',
    url: '/api/editsubpages/' ,
    contentType: 'JSON',
    headers: {'Content-Type': 'application/json'},
    processData: false,
    data: $scope.data
}).then(
    function success(response) {
    console.log("error");
},
function failed(response) {
    console.log("error");
}); 

在“请求有效负载”中发布的 JSON,但我什至无法打印它。

【问题讨论】:

  • 通常的$request->all() 应该可以工作。解码部分由 Laravel 自己处理。
  • 我试过了,返回空数组!

标签: angularjs json laravel


【解决方案1】:

我变了

    $http({
        method: 'POST',
        url: '/api/editsubpages/' ,
        contentType: 'JSON',
        headers: {'Content-Type': 'application/json'},
        processData: false,
        data: $scope.data
    }).then(
        function success(response) {
            console.log("error");
        },
        function failed(response) {
            console.log("error");
        });   

$http.post('/api/editsubpages', {
            data: $scope.data,
        }).then(function mySuccess(response) {

        }, function myError(response) {
            console.log("error");
        });

它现在可以工作了!有人可以告诉我有什么区别吗?我不明白!

【讨论】:

  • 我猜这是由于不同的 Content-Type 标头。如果您真的想知道,请在您的浏览器中尝试这两种代码,并使用您的浏览器工具“网络”选项卡来分析请求。
  • 不。做到了,同样的答案。但不知何故,在第一种情况下在后台打开 2 页,我想在过程中有一些数据丢失
猜你喜欢
  • 1970-01-01
  • 2014-04-27
  • 2021-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-28
  • 2018-06-16
  • 1970-01-01
相关资源
最近更新 更多