alpine.k ajax 表单发布到 laravel 路线

问题描述 投票:0回答:1

我有一个函数可以将带有数据的表单帖子发送到我的 Laravel 应用程序。

async handleDataSend(dsCommand, dsData) {

    console.log(dsCommand);
    console.log(dsData);

    dat = {};

    await (await fetch('{{ route('alpineDataSend') }}', {
        method: 'POST',
        body: JSON.stringify({
            command: dsCommand,
            data: dsData
        }),
        headers: {
            'X-CSRF-TOKEN': '{{ csrf_token() }}'
        },
    })).json();

    return dat;

    },

我的路线现在非常基本。


Route::post('/alpineDataSend', function (Request $request) {
    dd($request->all());
}->name("alpineDataSend");

我使用浏览器中的检查器查看表单帖子中的表单数据。

{"command":"saveCountyStateCityData","data":{"country_key":"US","state_key":3922,"city_key":42752}}

问题是路由没有接收到数据。

[] // routes/web.php:487

我在ajax邮政编码中遗漏了什么吗?

ajax laravel alpine.js
1个回答
0
投票

我从另一篇文章中解决了这个问题。我需要将 json 标头添加到 ajax 代码中。

async handleDataSend(dsCommand, dsData) {

                    console.log(dsCommand);
                    console.log(dsData);

                    dat = {};

                    await (await fetch('{{ route('alpineDataSend') }}', {
                        method: 'POST',
                        body: JSON.stringify({
                            command: dsCommand,
                            data: dsData
                        }),
                        headers: {
                            'Content-Type': 'application/json',
                            'X-CSRF-TOKEN': '{{ csrf_token() }}'
                        },
                    })).json();

                    return dat;

                    },

我现在收到了路线中的数据。

array:2 [ // routes/web.php:487
  "command" => "saveCountyStateCityData"
  "data" => array:3 [
    "country_key" => "US"
    "state_key" => 3920
    "city_key" => 42671
  ]
]
© www.soinside.com 2019 - 2024. All rights reserved.