2016-06-18 3 views
0

Ich versuche, eine Verbindung zu einem Web-API von Client-Seite mit Ajax Jquery - POST-Methode.
My Codebeispiel:AJAX POST zu Web-API mit Json - 500 internen Server Fehler

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#btn392").click(function() { 
    alert("test"); 
    var url = "https://test.ie/V2/Core/Sessions"; 

    var data = { AuthenticationProvider: 0 }; 

    $.ajax({ 
     type: "POST", 
     url: url, 
     data: JSON.stringify(data), 
     cache: false, 
     crossDomain: true, 
     dataType:'jsonp', 
     contentType: 'application/json; charset=utf-8', 
     headers: { 'Pz-ApplicationName': 'xxxx', 'Pz-ApplicationKey': yyyy','Access-Control-Allow-Origin':'*'}, 
     success: function (msg) { 
      alert("Data Saved: " + msg); 
     }, 
     error: function (XMLHttpRequest, textStatus, errorThrown) { 
      alert(errorThrown); 
     }, 

    });  

    }); 
}); 
</script> 

bekommen Antwort wie folgt:

URL anfordern:

https://test.ie/V2/Core/Sessions?callback=jQuery18301695447497748852_1466229802951&{%22AuthenticationProvider%22:0}&_=1466230308713 

Methode Anfrage: GET
Statuscode: 500 Interner Serverfehler

Remote-Adresse: 193.111.82.196: 443

Response Headers 
view source 
Access-Control-Allow-Headers:Content-Type,Pz-Authorisation,X-Requested-With 
Access-Control-Allow-Methods:POST,GET,PUT,DELETE,OPTIONS 
Access-Control-Allow-Origin:* 
Cache-Control:no-cache 
Connection:close 
Content-Length:409 

Content-Type:application/json; charset=utf-8 
Date:Sat, 18 Jun 2016 06:11:39 GMT 
Expires:-1 
Pragma:no-cache 
Server:Microsoft-IIS/8.5 

X-AspNet-Version:4.0.30319 
X-Frame-Options:SAMEORIGIN 
X-Powered-By:ASP.NET 
Request Headers 

view source 
Accept:*/* 
Accept-Encoding:gzip, deflate, sdch, br 
Accept-Language:en-GB,en-US;q=0.8,en;q=0.6 
Connection:keep-alive 
Host:pwpservice-qa.test.ie 
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2770.0 Safari/537.36 
Query String Parameters 
view source 
view URL encoded 
callback:jQuery18301695447497748852_1466229802951 
{"AuthenticationProvider":0}: 
_:1466230308713 

Eventhough Ich versuche, einen Beitrag zu tun, es Antwort ein GET zeigt und internen Serverfehler führt. Jede Hilfe wird sehr geschätzt.

+1

Also, wenn Sie interne Serverfehler haben, warum geben Sie uns JS-Code? –

Antwort

0

Wie die Nachricht sagt, passiert der Fehler auf dem Server, wenn er Ihre Anfrage bearbeitet. Die Serverprotokolle sind der beste Ort, um weitere Informationen über die Vorgänge zu erhalten. Wenn Sie keinen Zugriff darauf haben, können Sie den Entwicklermodus Ihres Browsers öffnen (sie haben alle einen), um die Anfrage (n) in ihrer rohen Form zu debuggen.

+0

Hallo Flup, Vielen Dank für die Rückmeldung an mich. Ich habe Serverprotokolle überprüft und konnte keine Informationen finden. Besteht die Möglichkeit, dass der Server, auf dem die API installiert ist, unsere IP-Adresse autorisieren soll? –

+0

Es hängt natürlich vom Servercode ab, aber der Antwortcode 500 wird normalerweise für Serverfehler verwendet. Wenn beispielsweise der Servercode während der Verarbeitung Ihrer Anfrage eine Ausnahme auslöst. Wenn eine Firewall Ihre IP-Adresse blockiert, wird Ihre Anfrage wahrscheinlich eine Zeitüberschreitung aufweisen. Wenn der Server es ablehnt, Ihre Anfrage zu stellen, weil Ihnen die Berechtigungen fehlen, antwortet er im Allgemeinen mit einem Antwortcode im Bereich 400, nicht mit einer 500. – flup

Verwandte Themen