所以我正在尝试为内部项目开发一个rest API,我遇到了一个问题,当表单请求验证失败时,它会显示@index响应.
所以我有两条路线;
Route::get('/api/clients', 'ClientController@index');
Route::post('/api/clients', 'ClientController@store');
Run Code Online (Sandbox Code Playgroud)
@index列出所有客户端,@store创建一个新客户端,我在方法上有一个表单请求验证器,@store它检查为客户端提供的名称.
我想要的是当验证器失败时,它会显示带有验证错误的JSON响应.但我认为它发生的是验证失败,因此它重定向回同一页面,但重定向GET不是POST,所以它列出了所有客户端.
我知道你可以设置你的标题,使它看起来像一个ajax请求,它将正确显示JSON响应,但我希望它显示JSON响应,无论它是否是ajax.
我已经尝试覆盖response我的验证器中的方法,该方法不起作用,我已经尝试wantsJson在验证器中设置方法以返回true,这再次无效.
非常感谢帮助.
代码如下......
web.php
Route::get('/api/clients', 'ClientController@index');
Route::get('/api/clients/{client}', 'ClientController@show');
Route::post('/api/clients', 'ClientController@store');
Route::put('/api/clients/{id}', 'ClientController@update');
Route::delete('/api/clients/{id}', 'ClientController@delete');
Run Code Online (Sandbox Code Playgroud)
ClientController.php
namespace App\Http\Controllers;
use App\Client;
use App\Http\Requests\ClientRequest;
class ClientController extends Controller
{
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(ClientRequest $request)
{
return Client::create([
'title' => request('title'),
'user_id' => auth()->id() …Run Code Online (Sandbox Code Playgroud) 使用单个文件组件,如何从指令更改数据属性?
所以,例如,我有......
export default {
name: 'app',
data: function() {
return {
is_loading: true
}
},
directives: {
do_something: {
bind: function(el, binding, vnode) {
// Change the is_loading property
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
起初,我以为我可以做this.is_loading = false,但是this是undefined.