2016-05-30 4 views
0

ich eine Restfull Anwendung entwickelt haben, und ich möchte eine andere Web-Anwendung hinzufügen seine Dienstleistungen zu konsumieren so dass ich diesen Anruf Ajax:In einer HTTP-Anforderung CORS-Header mit Ajax

$.ajax({ 
      type: "Post", 
      async: false, 
      url: "ip_adress/Inviter/api/Account/Register", 
      data: donne, 
      headers: { "Access-Control-Allow-Origin:": "*"}, 
      success: function (data) { 
       console.log(data); 
       var tab = []; 
       tab["username"] = username; 
       tab["password"] = pwd; 
       var isLogged = Login.CheckCredential(tab, username); 
       return isLogged; 
      }, 
      error: function (xhr, status, error) { 
       console.log(xhr); 
       console.log(status); 
       console.log(error); 
      } 

     }); 

ich diese Ausnahme erhalten :

Object {readyState: 0, status: 0, statusText: "SyntaxError: Failed to execute 'setRequestHeader' …-Origin:' is not a valid HTTP header field name."} error DOMException: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': 'Access-Control-Allow-Origin:' is not a valid HTTP header field name.

Also muss ich wissen:

  • Wie kann ich die CORS in dieser Situation ermöglichen?

  • Wie kann ich meinen Code reparieren?

+2

Der Server muss die Kopfzeile festlegen, da der Server entscheidet, wer und von wo aus zugreifen darf. So lautet die Antwort auf Ihre erste Frage: Fügen Sie den Header zu Ihrem Server hinzu. Dies sollte Ihre zweite Frage obsolet machen. –

+1

'Access-Control-Allow-Origin' ist ein HTTP-Response-Header, der vom Server zurückgegeben wird. Einzelheiten finden Sie unter https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS. – Antoine

Antwort

3

Sie können sich nicht so autorisieren. Es ist eine Antwort Header; Details in the specification. Der Server Sie senden die Anfrage, um diesen Header zurück zu senden, damit der Browser weiß, dass es in Ordnung ist, Ihrer Seite zu erlauben, eine Ajax-Anfrage an diesen Server zu senden. Es gibt nichts, was Sie in Ihrem clientseitigen Code tun können, wenn der Server, von dem Sie anfordern möchten, Ihre Herkunft nicht zulässt.