2017-10-14 4 views
0

(Remarque: Dans l'onglet Activité réseau, juste avant login.php, sur localhost: 8080 je m'attendais à voir une notification indiquant que .htaccess avait été accédé, mais il n'y figure pas. le savoir est accessible, parce que je l'ai regardé dans fichier journal des erreurs Apaches et a trouvé ceci:.htaccess pour CORS en javascript

[Sat Oct 14 21:57:01.943348 2017] [core:alert] [pid 3944:tid 1172] [client ::1:57586] C:/wamp64/www/mysite/phpgeneral/.htaccess: Invalid command 'Header', perhaps misspelled or defined by a module not included in the server configuration, referer: http://localhost:52656/mysite/index.html 
[Sat Oct 14 21:58:39.918523 2017] [core:alert] [pid 3944:tid 1164] [client ::1:57599] C:/wamp64/www/mysite/phpgeneral/.htaccess: Invalid command 'Header', perhaps misspelled or defined by a module not included in the server configuration, referer: http://localhost:52656/mysite/index.html 

Mon `fichier .htaccess est exactement écrit que l'on trouve en dessous de ceux de commande doit avoir quelque chose enroulé autour de lui?

Question d'origine.

Je fais une demande de script d'origine croix:

var url = "http://localhost:8080/mysite/login.php"; 
var method = "POST"; 
var xhr = new XMLHttpRequest(); 
if ("withCredentials" in xhr) { 
    // XHR for Chrome/Firefox/Opera/Safari. 
    xhr.open(method, url, true); 
} else if (typeof XDomainRequest != "undefined") { 
    // XDomainRequest for IE. 
    xhr = new XDomainRequest(); 
    xhr.open(method, url); 
} else { 
    // CORS not supported. 
    xhr = null; 
} 

if (!xhr) { 
    return; 
} 
// Response handlers. 
xhr.onload = function (data) { 
    if (data.srcElement) { 
     var json = eval('(' + data.srcElement.response + ')'); 
     MyCallback(json); 
    } 
}; 
xhr.onerror = function (data) { 
    alert("Error (Process Failure): " + textStatus + " (" + errorThrown + ")"); 
}; 
xhr.send(); 

Dans le répertoire où login.php se trouve que je suis ce qui suit dans .htaccess:

# Always set these headers. 
Header always set Access-Control-Allow-Origin "*" 
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT" 
Header always set Access-Control-Max-Age "1000" 
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token" 
# Added a rewrite to respond with a 200 SUCCESS on every OPTIONS request. 
RewriteEngine On 
RewriteCond %{REQUEST_METHOD} OPTIONS 
RewriteRule ^(.*)$ $1 [R=200,L] 

Je reçois les erreurs:

SEC7120: Origin http://localhost:52656 not found in Access-Control-Allow-Origin header. 
SCRIPT7002: XMLHttpRequest: Network Error 0x80700013, Could not complete the operation due to error 80700013. 

Pourrait ne me dis pas comment faire fonctionner ce script d'origine?

Répondre

0

@ user4035 a répondu ceci dans un autre thread

Essayez de charger headers_module à l'intérieur de la configuration d'Apache

0

Modifier le set dans le .htaccess à add

Header add Access-Control-Allow-Origin "*" 
Header add Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT" 
Header add Access-Control-Max-Age "1000" 
Header add Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token" 
+0

merci pour la réponse, mais toujours les mêmes deux erreurs. (J'ai d'abord éteint Wamp et redémarré comme requis.) – Rewind

0

Donner le domaine complet fonctionne pour moi

Header set Access-Control-Allow-Origin "yourdomain.com" 
+0

Merci pour la réponse, mais le répertoire où réside le script php ne connaît pas tous les domaines d'où le script sera appelé. – Rewind