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
执行操作的网址: http://localhost/ ***** /公共/ index.php的/管理/推荐
我有一个由事件调用的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
然后我有我的控制器AdminTestimonialsController.php,我无法进入(显然只显示有问题的方法)
public function sort() {
$order = Input::get('list');
if (Request::ajax()) {
$result = $this->testimonial->sortArticles($order);
}
return Redirect::route('admin.testimonials.index');
}
那么我在这里做错了什么,或者我错过了什么让它起作用?
答案 0 :(得分:0)
由于您的应用程序不在您的域的根目录中,因此您无法使用/testimonials/sort
。它会向http://localhost/testimonials/sort
而不是http://localhost/*****/public/index.php/testimonials/sort
发出请求。
您可以在PHP / Blade模板中的某处定义baseUrl
js变量,并在发出ajax请求时使用它。
<script>
var baseUrl = "{{ URL::to('/') }}";
</script>
然后以后:
$.post(baseUrl + "/testimonials/sort", {list: t})
注意您仍然需要在网址前面显示/
,因为baseUrl
不会有斜杠。