Javascript 将$.post路由到控制器';s法
对于laravel来说,在一个预制项目中工作是将一个功能复制到另一个部分,但现在我被一个:Javascript 将$.post路由到控制器';s法,javascript,laravel,laravel-routing,Javascript,Laravel,Laravel Routing,对于laravel来说,在一个预制项目中工作是将一个功能复制到另一个部分,但现在我被一个: Failed to load resource: the server responded with a status of 404 (Not Found) (17:26:57:137 | error, network) at http://localhost/testimonials/sort 执行操作的位置的URL: *****/public/index.php/admin/essentials
Failed to load resource: the server responded with a status of 404 (Not Found) (17:26:57:137 | error, network) at http://localhost/testimonials/sort
执行操作的位置的URL:
*****/public/index.php/admin/essentials
我有一段javascript被事件调用:
sortTestimonials: function () {
$("#sortable_1, #sortable_2").sortable({connectWith: ".connectedSortable", stop: function () {
var t = [];
t = $(".connectedSortable").sortable("toArray"),
$.post("/testimonials/sort", {list: t})
}})
},
该$.post(..)应该会进入我的routes.php,在那里我有控制器/部分的路由
# Testimonials Routes
Route::resource('testimonials', 'AdminTestimonialsController', ['except' => ['show', 'destroy']]);
Route::post('testimonials/toggleVisibility', 'AdminTestimonialsController@toggleVisibility');
Route::post('testimonials/delete', 'AdminTestimonialsController@delete');
Route::post('testimonials/sort', 'AdminTestimonialsController@sort');
//this last one being the one it's supposed to grab
然后我的控制器administrationalscontroller.php无法访问(显然只是显示了有问题的方法)
那么,我在这里做错了什么,或者我缺少了什么才能让它工作呢?由于您的应用程序不在您的域的根目录中,所以您不能只使用
/testionals/sort
。它将向http://localhost/testimonials/sort
而不是http://localhost/*****/public/index.php/commentials/sort
您可以在PHP/Blade模板中的某个地方定义baseUrl
js变量,并在发出ajax请求时使用该变量
<script>
var baseUrl = "{{ URL::to('/') }}";
</script>
注意您仍然需要将
/
放在URL前面,因为baseUrl
将没有尾随斜杠。请尝试在Route::resource
之前定义Route::post
路由,但在这种情况下,卢卡斯盖特如何为Instant定义此路由?(我根据自己的情况,在网站的产品部分)$.post(“产品/排序”{list:t})您可以保持与当前URL相关的URL不变。
<script>
var baseUrl = "{{ URL::to('/') }}";
</script>
$.post(baseUrl + "/testimonials/sort", {list: t})