我有这个HTML / Javascript代码....
<html>
<head>
<meta charset='utf-8' />
<title>Title</title>
<meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
<!-- *** References for JQuery ... -->
<script src="http://code.jquery.com/jquery-3.3.1.min.js"></script>
</head>
<body>
<script>
var city= "Torino";
$.ajax({
url: "http://www.mysite1.org/cesarefortelegram/Telegram/OpenProntoSoccorso/API/getProntoSoccorsoDetailsByMunicipality.php?",
method: "GET",
crossDomain: true,
data: {municipality: city, distance:0}
})
.done(function(output) {
alert("OK!");
})
.fail(function() {
// handle error response
alert("KO!");
})
</script>
</body>
</html>
......在这里发表......
http://www.mysite2.com/OpenProntoSoccorso/WebMapping/test2.html
在Web服务器(Ubuntu 14.04上的Apache 2.4)http://www.mysite1.org/ ....我已经用这种方式修改了我的apache2.conf文件....
<Directory /var/www/cesarefortelegram>
Order Allow,Deny
Allow from all
AllowOverride all
Header set Access-Control-Allow-Origin "*"
</Directory>
按照这些说明How to allow Cross domain request in apache2。
我的网络浏览器控制台(网络标签..)
中仍然出现以下错误Failed to load http://www.mysite1.org/cesarefortelegram/Telegram/OpenProntoSoccorso/API/getProntoSoccorsoDetailsByMunicipality.php?&municipality=Torino&distance=0: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://www.mysite2.com' is therefore not allowed access.
我在哪里做错了?
提前致谢
答案 0 :(得分:1)
我发现我的apache2.conf文件中有错误....
这是正确的配置(忘了&#34; html&#34;&#34; www&#34;对不起......)......
<Directory /var/www/html/cesarefortelegram>
Order Allow,Deny
Allow from all
AllowOverride all
Header set Access-Control-Allow-Origin "*"
</Directory>
现在一切正常......
答案 1 :(得分:0)
对我有用的Ubuntu Apache2解决方案 .htaccess编辑对我不起作用,我不得不修改conf文件。
nano /etc/apache2/sites-available/mydomain.xyz.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName mydomain.xyz
ServerAlias www.mydomain.xyz
ServerAdmin support@mydomain.xyz
DocumentRoot /var/www/mydomain.xyz/public
### following three lines are for CORS support
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLCertificateFile /etc/letsencrypt/live/mydomain.xyz/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.xyz/privkey.pem
</VirtualHost>
</IfModule>
a2enmod标头