我使用define('ROOT', $_SERVER['DOCUMENT_ROOT'].'/');
来定义根目录,因此无论文件位于何处,我都可以轻松地使用include_once ROOT.somefile.php
来包含文件。
我也想在我的jQuery Ajax请求中使用它们,例如:
ajax = $.ajax({
url: '<?php echo ROOT.'ajax.php';?>',
type: "POST", ...
虽然此回显是正确的URL,但在localhost(通过XAMPP)上,却出现此jQuery错误:
Access to XMLHttpRequest at 'file:///C:/xampp/htdocs/...' from origin 'http://localhost' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
尽管它确实可以在我的网站上工作,因为在那里的来源当然是相同的,所以我没有违反CORS政策。
这很烦人,它破坏了我在localhost上的代码。
我尝试改用它:
if($local)
{
define('ROOT', 'http://localhost/');
}
并将allow_url_include设置为on
,但是由于某种原因,它无法访问包含文件中定义的变量。
还尝试将.htaccess
文件添加到我的XAMPP文件夹中的htdocs
Header set Access-Control-Allow-Origin "*"
但这似乎并没有改变任何东西...