2016-08-09 2 views
0

ich versuche login in angular + php rest api, api arbeitet im briefträger. Ich habe cors in PHP hinzugefügt, derselbe Code arbeitet mit anderen Seiten, aber jetzt bekomme ich den untenstehenden Fehler.eckig + php login api cors ausgabe

XMLHttpRequest nicht http://www.yapp.tk/demo/kloxet/customers/login.json laden. Request Header Feld Access-Control-Allow-Header ist nicht erlaubt von Access-Control-Erlaube-Header in Preflight-Antwort.

$http({ 
      url: 'http://www.yapp.tk/demo/kloxet/customers/login.json', 
      method: "POST", 
      data: { email: $scope.username, password: $scope.password }, 
      //withCredentials: true, 
      headers: { 
       'Content-Type': 'application/json; charset=utf-8' 
      } 
     }) 
     .then(function(response) { 
       console.log(response); 
     }, 
     function(response) { // optional 
       // failed 
     }); 
+0

Es schlägt bei der Authentifizierung fehl. Machen Sie einen Anruf vom Postboten und passen Sie die Header an, dass sie identisch sind. Wenn Sie im Browser eingeloggt sind, dann kann Postbote die Authentifizierung nicht anschreien. –

+0

Im Postboten funktioniert alles gut – user1955726

+0

dann überprüfen Sie einfach die Header, die alles zusammenpassen .. Wie auch immer es ist nicht eckig beschweren sich darüber, es ist Ihr php api. –

Antwort

2

Sie müssen cros von PHP stehen lassen. Es hat nichts mit eckigen zu tun. Suchen Sie nach dem Cros-Filter in PHP. Und es ruft Preflight an, wenn Ihre Anwendung eine Optionsanforderung ausführt. Es kann davon abhängen, ob Sie grundlegende Authentifizierung von PHP und es macht Authentifizierung selbst auf die Option Anfrage, die es nicht tun sollte.

+0

Same CORS funktioniert für eine andere Website – user1955726