在jQuery中使用AJAX的localhost和CORS

时间:2019-07-01 14:02:23

标签: php jquery cors xampp localhost

我使用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 "*"

但这似乎并没有改变任何东西...

0 个答案:

没有答案