Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在OpenCart控制器中检测AJAX请求_Ajax_Controller_Request_Opencart_Opencart 3 - Fatal编程技术网

在OpenCart控制器中检测AJAX请求

在OpenCart控制器中检测AJAX请求,ajax,controller,request,opencart,opencart-3,Ajax,Controller,Request,Opencart,Opencart 3,我正在OpenCart 3中处理一些控制器,我希望其中一个控制器函数只能通过AJAX请求访问。 我尝试使用$服务器['HTTP\u X\u REQUESTED\u with']变量,但OC表示该变量未定义 致意 pcosta94实际上OpenCart没有删除$\u服务器变量。它只是将它们传递到$this->server。问题是,只有在有AJAX调用时才会设置“HTTP_X_REQUESTED_WITH”。否则,它将给出一个错误 通过将此代码添加到第32行的文件system/library/req

我正在OpenCart 3中处理一些控制器,我希望其中一个控制器函数只能通过AJAX请求访问。 我尝试使用$服务器['HTTP\u X\u REQUESTED\u with']变量,但OC表示该变量未定义

致意


pcosta94实际上OpenCart没有删除$\u服务器变量。它只是将它们传递到$this->server。问题是,只有在有AJAX调用时才会设置“HTTP_X_REQUESTED_WITH”。否则,它将给出一个错误

通过将此代码添加到第32行的文件system/library/request.php,可以测试是否有任何请求是通过AJAX发出的

$this->server=$this->clean$\u服务器之后;加:

ifisset$this->server['HTTP\u X\u REQUESTED\u WITH']{ echo'console.log'.json_encode$this->server['HTTP_X_REQUESTED_WITH']。; } 然后打开OpenCart前端并访问任何产品页面,您应该可以在浏览器控制台XMLHttpRequest中看到

像这样

这是因为在产品页面上,评论是通过AJAX加载的。在主页上没有AJAX调用,所以您不应该在控制台中看到任何内容

我希望这有帮助