我使用vue.js和Laravel 5.1来创建一个小文件共享应用程序.
一切都很完美,但现在我想确保每个文件的所有者能够从他的文件中删除用户(当然,他必须首先与这些用户共享文件),因此我向一个名为的URL发出PUT请求/files/share.
我的Laravel路线如下:
Route::put('/files/share', 'FileController@test');
Run Code Online (Sandbox Code Playgroud)
当我运行php artisan route:list它时也会被列出.
客户端代码如下所示:
this.$http.put('/files/share', { some_data }, function(data) {
if(data.error){
this.$set('error', data.error);
} else {
this.$set('file', data);
}
});
Run Code Online (Sandbox Code Playgroud)
我得到的确切错误是这样的:
2/2 NotFoundHttpException in Handler.php line 46:
No query results for model [App\File].
1/2 ModelNotFoundException in Builder.php line 129:
No query results for model [App\File].
Run Code Online (Sandbox Code Playgroud)
但应用程序甚至没有到达控制器,如果我只是从那里返回一些错误是相同的.
我正在使用简单的API和身份验证构建一个小的Lumen应用程序.
我想将用户重定向到预期的网址,如果他自己访问/auth/login我希望他重定向到/foo.
在Laravel Docs中有这个功能:return redirect()->intended('/foo');
当我在我的路由中使用它时,我在服务器日志中收到一条错误,上面写着:
[30-Apr-2015 08:39:47 UTC] PHP Fatal error: Call to undefined method Laravel\Lumen\Http\Redirector::intended() in ~/Sites/lumen-test/app/Http/routes.php on line 16
Run Code Online (Sandbox Code Playgroud)
我想在我的vueify组件的script标签中使用vue-resource $ http方法,但我总是得到这个错误:
Uncaught TypeError: Cannot read property 'get' of undefined
Run Code Online (Sandbox Code Playgroud)
我的猜测是"this"关键字不起作用(不知道原因)或模块安装不正确(尽管应该检查).我的vue组件看起来像这样:
<template>
<!-- just displaying the data -->
</template>
<script>
module.exports = {
data: function () {
return {
foo: "bar"
}
},
ready: function() {
// the error occurs on the next line
this.$http.get('/api/users', function(data){
this.$set('users', data);
});
}
}
</script>
Run Code Online (Sandbox Code Playgroud)