【发布时间】:2017-11-14 16:30:14
【问题描述】:
我正在尝试通过 api 使用 ajax(为此使用 axios)将数据发送到我的控制器。
首先是我的路由文件(/routes/api.php):
Route::post('/booking/request', 'BookingController@sendMail');
我想向这条路线发送数据,所以这是我的要求:
var bookingUrl = baseUrl + 'api/booking/request';
axios.post(bookingUrl, {
name: "username",
amount: 2
});
然后,我只想记录这些数据以查看它是否到达我的控制器(app/Http/Controllers/BookingController):
class BookingController extends Controller
{
public function sendMail(Request $request)
{
Log::info('data: ' . $request->name);
}
}
这根本不起作用。我只是收到一个错误“404 Not Found”。我也用 Postman 尝试过这个请求,但结果相同。由于我无法获得有关究竟是什么不起作用的更多信息,因此我无法修复它。有人可以在这里让我走上正确的道路吗?
编辑:所以实际的问题是baseUrl。后面链接有误,无法使用。
【问题讨论】:
-
bookingUrl设置为什么?检查php artisan routes:list以确保它匹配。 -
抱歉,我刚刚编辑了我的帖子。 bookingUrl 设置为
baseUrl + 'api/booking/request'。并且 php artisan routes:list 显示了我的路线POST | api/booking/request | App\Http\Controllers\BookingController@sendMail | api的条目 -
我不确定这是否可行,但请尝试
public function sendMail(Request $request)的定义,并在Log::info($request->name);内部尝试 -
我认为您的尝试是该部分的正确方法,但它仍然不起作用。我也认为我什至没有到达控制器。错误一定是在那之前的某个地方。
标签: php laravel laravel-5.5