美好的一天:
我尝试使用接受Ajax Post的控制器创建自定义组件(在后端)。我的控制器结构如下:
[06:45 AM]-[vagrant@joomlatools]-
[/var/www/tstack/administrator/components/com_oauth_manager/controllers]
$ ls -la
total 24
drwxr-xr-x 6 501 dialout 204 Feb 14 06:21 ./
drwxrwxrwx 17 501 dialout 578 Feb 12 06:26 ../
-rwxr-xr-x 1 501 dialout 26 Feb 12 06:24 index.html*
-rwxr-xr-x 1 501 dialout 652 Feb 13 05:29 oauthserver.php*
-rwxr-xr-x 1 501 dialout 919 Feb 14 06:42 oauthservers.json.php*
-rwxr-xr-x 1 501 dialout 2428 Feb 14 06:00 oauthservers.php*
我的javascript代码正在针对oauthservers.json.php
提出请求:
'index.php/?option=com_oauth_manager&task=oauthservers.graphql&format=json'
但是,我从我的控制台收到此错误:
Error
An error has occurred.
403 You are not authorised to view this resource.
答案 0 :(得分:0)
这是因为我正在使用需要Node获取的Relay网络对象。需要使用credential
属性指定fetch方法。本质上,该值必须为credentials: 'same-origin'
,否则fetch将不会发送请求的浏览器cookie; Joomla的后端使用浏览器cookie来表示登录用户。如果该cookie不存在,Joomla假设您没有登录,因此403响应。