【发布时间】:2020-08-12 22:02:12
【问题描述】:
您好,我的网站在 cpanel 上,当我进行 api 调用时,它返回 contnet-type html 而不是 json 请注意,它在我的本地主机上运行良好,但由于某种原因它无法运行 代码
public function fetch_companies()
{
//getting company that is linked to coupon
$companies_id = Coupons::where('company_id' , '!=', 'null')->pluck('company_id');
$companies = Companies::whereIn('id' , $companies_id)->get();
return response()->json($companies);
}
我尝试像这样将标头设置为 json
return response()->json($companies)->withHeaders([
'Content-Type' => 'application/json',
]);
但是没用
这是我网站的链接,您可以使用邮递员对其进行测试 http://coupon-app.epizy.com/company/api/fetch
只是为了让你在图片中当前运行这个页面的代码是这样的
public function fetch_companies()
{
//getting company that is linked to coupon
$companies_id = Coupons::where('company_id' , '!=', 'null')->pluck('company_id');
$companies = Companies::whereIn('id' , $companies_id)->get();
return response()->json($companies)->withHeaders([
'Content-Type' => 'application/json',
]);
}
如果您需要任何信息,请评论并提前致谢
【问题讨论】:
-
看起来该链接正在返回 json
[{"id":5,"name":"Dummy data","company_logo":"\/public\/company\/logo\/1588020544.jpg","created_at":"2020-04-27T20:48:24.000000Z","updated_at":"2020-04-27T20:49:04.000000Z"}] -
嗯...那是在浏览器上。在邮递员返回 html 时,您可以阅读消息“此站点需要 Javascript 才能工作,请在您的浏览器中启用 Javascript 或使用支持 Javascript 的浏览器”。我认为你不能使用邮递员来请求它github.com/postmanlabs/postman-app-support/issues/3344
-
你确定这是进入那个api时执行的代码吗? laravel 和 postman 从来没有发生过这样的事情
-
是的,这是浏览器上的问题,它提供了 json,但在邮递员或真正的 api 请求上,它提供了 html,我搜索了这个问题并读到我应该在标题中放入我所做的内容类型,但没有改变了我认为这可能是主机本身的问题,但我不知道如何将主机与问题联系起来,或者我可能对主机有误。主要问题是内容类型设置为 json 但返回 html 如果您之前遇到过这种情况,请帮助我