我不知道自己做错了什么,但我通过Vue-resource获取Ajax补丁请求的请求网址正在获取:
400错误请求
有谁知道为什么?
这是我的要求:
var id = thing.id;
this.$http.patch('/api/things/' + id, thing).then(function(data){
console.log('edited to: '+data);
});
查看开发工具中的“网络”选项卡时,请求参数应该都是正确的。
这是我的路线:
Route::resource('/api/things','ThingsPanelController');
这是我的控制器:
public function update(Request $request, $id)
{
Thing::findOrFail($id)->update([
'body'=>$request->body,
]);
return Response::json($request->all());
}
'api/things' + id
并且它看起来不是路由中的通配符,而是字符串! ?这是我使用的表格。我阻止默认并且有ajax请求,因此表单操作甚至不应该是相关的......
<form action="update" @submit.prevent="doneEdit(thing)">
<input type="hidden" name="_method" value="PATCH">
<input type="text"
v-model="thing.body"
v-thing-focus="thing == editedThing"
@blur="doneEdit(thing)"
@keyup.esc="cancelEdit(thing)"
>
</form>
答案 0 :(得分:0)
检查本地服务器上的问题是否仍然存在,以及实时服务器。
在这种情况下,问题仅出在本地服务器上。然后就这样做:
停止工匠的服务,然后执行:php artisan cache:clear
然后再试一次:php artisan serve
,问题应该解决。
问题可能是由于 CodeKit 等程序引起的。即使您的php artisan serve
将在ip 8000上提供服务,CodeKit也会因自动重新加载原因而对其进行更改。这弄乱了ajax的呼唤uri's。