Laravel API所有接口返回无效响应:如何去除响应中的HTML标签?
解决Laravel API响应带HTML标签的问题
以下是几种可行的解决方法:
指定响应内容类型
直接返回字符串时,Laravel默认会以text/html类型响应,可能导致内容被HTML标签包裹。可以手动指定纯文本类型:Route::get('test', function() { return response("hello world")->header('Content-Type', 'text/plain'); });如果是API场景,更推荐返回JSON格式:
Route::get('test', function() { return response()->json(['message' => 'hello world']); });使用Laravel内置的纯文本响应方法(Laravel 9+)
9及以上版本提供了专门的plainText()方法,直接返回无HTML包裹的纯文本:Route::get('test', function() { return response()->plainText("hello world"); });检查全局响应处理逻辑
排查App\Providers\AppServiceProvider的boot方法,或者自定义的响应宏,是否存在强制给所有响应添加HTML结构的代码。确认服务器配置
检查Nginx/Apache的配置,是否存在自动为纯文本响应添加HTML包装的模块或规则(比如某些默认的错误页配置)。
内容的提问来源于stack exchange,提问作者Sudipto Bain
相关产品推荐
相关产品推荐

