如何从PrestaShop ModuleFrontController返回带有错误HTTP代码的Ajax响应?

问题描述

我开始使用PrestaShop 1.7.6(在使用Symfony之前),我向PrestaShop写了一些自定义模块,但是现在我想从前端控制器模块向用户发送json数据。如果我使用http代码200发送json,一切正常,但是现在我想使用正确的http代码(例如400)发送错误消息。在Symfony中,我可以使用JsonResponse做到这一点(我在这里尝试这样做,但是没有按预期工作)。我在presta控制器中看到只有两种具有Ajax响应的方法(ajaxDie-已弃用和ajaxRender),但是它们两者不会将http代码响应作为参数,而是始终发送200。

    if (!$product) {
         $json = Tools::jsonEncode(['status' => false]);
         $this->ajaxRender($json);

         //return new JsonResponse($json,Response::HTTP_BAD_REQUEST);// doesn't send proper code
    }

谁能告诉我如何从扩展ModuleFrontController的模块前端控制器发送错误代码?现在对我来说唯一可行的措施是使用HTTP代码200发送错误消息(但我认为使用该代码发送错误是一个坏主意)。非常感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)