2016-08-02 8 views
0

Ich bin neu in AWS. Versuchen, eine API in AWS zu konsumieren. Es ist eine AJAX-Anforderung, ist die Antwort so etwas wie {“readyState”:0,“responseText”:“”,“status”:0,“statusText”:“error”}AWS - API-Aufruf - jquery ajax Fehler

Ich versuche, die API von meinem localhost zu konsumieren. Da nur wenige Posts angeben, erlaubt AWS keine crossDomain-Anfrage. Wie kann ich es lokal testen?

 var postURL= "http://example.com/user/" + txtMemberId; 

     $.ajax({ 
      url: postURL, 
      crossDomain: true, 
      datatype: "text", 
      success: function (data, textStatus, xhr) { 
       console.log(data); 
      }, 
      error: function (xhr, textStatus, errorThrown) { 
       console.log(xhr); 
      } 
     }); 

Der Status ist ein (ok = 200) und es ist eine gültige Antwort, wenn ich direkt die API-Hit von URL im Browser

+0

AWS erlaubt Cross-Domain-Anfragen. Auf welchem ​​Dienst läuft diese API genau? AWS API-Gateway? EC2? Wenn es sich nur um eine App handelt, die auf einer EC2-Instanz ausgeführt wird, wird diese statt einer AWS-Frage zu einer Apache- oder Nginx-Frage. Sie müssen weitere Details angeben, damit wir Ihnen Anweisungen zum Aktivieren von CORS geben können. –

+0

@MarkB Die Anwendung wird in Elastic Bean Stalk implementiert – gunner

+0

Dann müssen Sie CORS auf dem Webserver aktivieren, auf dem die API auf Elastic Beanstalk ausgeführt wird. –

Antwort

1

1-Sign in der API Gateway-Konsole bei https://console.aws.amazon.com/apigateway geben.

2-in der API-Gateway-Konsole, eine API unter APIs wählen.

3-Wählen Sie eine Ressource unter Ressourcen. Dadurch wird CORS für alle Methoden auf der Ressource aktiviert.

4-Alternativ könnten Sie eine Methode unter der Ressource wählen, um CORS nur für diese Methode zu ermöglichen. Wählen Sie 5-

CORS Aktivieren von den Aktionen im Dropdown-Menü.

für weitere Informationen:

http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html

enter image description here

+0

Er verwendet kein API-Gateway. –