Tôi là người mới sử dụng Laravel và tôi đang chuyển đổi ứng dụng php/jquery sang Laravel. Mã ban đầu đã sử dụng một mảng JSON có POST ajax, được truy xuất như sau:
$json = file_get_contents('php://input');
$data = json_decode($json,true);
Tôi đang làm điều tương tự ở phía POST, nhưng tôi không thấy bất kỳ dữ liệu nào đi qua trong Bộ sưu tập yêu cầu Laravel $. Có một cái gì đó đặc biệt mà tôi cần phải làm gì để lấy dữ liệu JSON có cấu trúc như thế này:
[
{ "name": "John", "location": "Boston" },
{ "name": "Dave", "location": "Lancaster" }
]
Dưới đây là jQuery đang ajax POST của tôi (với các dữ liệu được mã hóa cứng)
$.ajax({
type: "POST",
url: "/people",
data: '[{ "name": "John", "location": "Boston" }, { "name": "Dave", "location": "Lancaster" }]',
dataType: "json",
success:function(data) {
$('#save_message').html(data.message);
}
});
Đây là mã trong tôi điều khiển tiếp nhận POST
public function store(Request $request)
{
dd($request->all());
}
Nhưng tất cả tôi nhận được là:
[]
Bất kỳ ý tưởng nào về cách tôi có thể truy xuất dữ liệu của mình?
Đáng buồn thay, tôi vẫn không nhận được bất kỳ dữ liệu nào trong Bộ điều khiển Laravel của tôi - chỉ cần []. Tuy nhiên tôi có thể thấy rằng các tiêu đề thay đổi từ ** Dữ liệu biểu mẫu ** thành ** Yêu cầu tải trọng ** – Adam
Tôi đã cập nhật phản hồi của mình, bạn cũng cần phải thay đổi cách bạn nhận đầu vào trong bộ điều khiển. –
Tôi đã học được điều gì đó mới mẻ về yêu cầu –