2016-05-14 4 views
1

Ich weiß, dass es mehrere Fragen über Kors sind aksed/beantwortet worden ... Aber ich habe keine Lösung für mein Problem gefunden. ..CORS: Nein 'Access-Control-Allow-Origin'-Header - aber php setzt Header-Datei

ich die folgenden Fehlermeldung in meiner js Anwendung erhalten (basierend auf jquery/jquery mobil):

fehlgeschlagen Ressource laden: der Server mit dem Status 500 (Internal Server error) reagierte

XMLHttpRequest kann http://www.mydomain.de/api.php nicht laden. Kein 'Access-Control-Allow-Origin'-Header ist auf der angeforderten Ressource vorhanden. Der Ursprung 'xyz' ist daher nicht erlaubt. Die Antwort hatte HTTP-Statuscode 500

PHP-Datei beginnt mit:

<?php 
header("Access-Control-Allow-Origin: *"); 
header("Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS"); 
header("Access-Control-Max-Age: 86400"); // cache for 1 day 
... 

Ein Teil des js Code:

$.ajax({ 
type:  'POST', 
crossDomain: true,  
cache:   false, 
url:  "http://www.mydomain.de/api.php", 
data:  payload, 
dataType: 'json', 
success: function(a,b,c) { } 
}); 

Die PHP-Seite bei strato.de/PHP-Version 5.7 gehostet

Jede Lösung?

+0

nicht bekommen Sie withCredentials bestanden haben? –

+0

Hier ist ein Beispiel dafür -> http://zinoui.com/blog/cross-domain-ajax-request –

+0

auch zuerst versuchen, Dinge in FF zu tun, wie Chrom ist ein bisschen strikter über CORS Anfragen, oder versuchen Sie Nein Sicherheit chrome Option –

Antwort

1

können Sie den Datentyp als JSONP verwenden

dataType: 'jsonp' 

Dann Sie den Fehler

+0

leider habe ich (manchmal) bis zu 100k übertragen wollen ... jsonp würde nicht funktionieren, da die URL zu lang werden würde (wenn die Antwort groß ist, ist es sicherlich perfekt) – Andreas