首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel返回HTML请求

Laravel返回HTML请求
EN

Stack Overflow用户
提问于 2022-07-05 10:23:14
回答 1查看 729关注 0票数 -1

我试着去做:

代码语言:javascript
复制
Route::get('/foo', function (Request $request) {
    return response()->json('Ready');
});

我得到了一个答案HTML:

但邮政是可行的:

代码语言:javascript
复制
Route::post('/bar', function (Request $request) {
    return response()->json('Ready');
});

结果:“就绪”

有什么问题吗?谢谢。

编辑:好的。我使用Vue 3和Vue-路由器,所以我更改了文件web.php:

代码语言:javascript
复制
Route::get('/{any?}', function () {
return view('index'); })->where('any', '.*');

(到SPA工作)

然后我改变了

代码语言:javascript
复制
Route::get('/', function () {
return view('index'); 
})

现在GET请求生效了!

但是没有这些代码,Vue路由器就不能正常工作。

代码语言:javascript
复制
Route::get('/{any?}', function () { return view('index'); })->where('any', '.*');

我该怎么办?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-07-11 23:42:56

问题是您使用的是web.php而不是api.php路由文件。默认情况下,来自web.php的所有闭包路由都被解析到Renderable对象,该对象将输出呈现给HTML。如果确实使用api.php,则闭包路由将被解析为JsonResponse。

总之,请将api.php用于json响应和web.php或仅查看响应(也称为视图响应)。(可供渲染的)。

最后,您来自laravel路由器的vue-路由器解析器应该设置在文件的末尾。

你有

代码语言:javascript
复制
Route::get('/{any?}', function () {
    return view('index'); })->where('any', '.*');
});

我强烈建议:

代码语言:javascript
复制
// All of your other routes here...

Route::view("/{any?}", "index")->where("any", ".*");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72867800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档