<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="http://code.jquery.com/jquery-1.7.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
var Celcius = 0;
$.ajax({
type: "POST",
url: "http:\//www.w3schools.com/webservices/tempconvert.asmx/CelsiusToFahrenheit",
contentType: "application/x-www-form-urlencoded",
data: 'Celsius=0',
dataType: "text/html",
success: function (msg) {
alert(msg);
},
error: function (xhr, msg) {
alert('fail');
}
});
});
</script>
</head>
<body>
</body>
</html>
Speichern Sie die Seite oben als HTM auf Ihrem Desktop. Wenn Sie die Seite in einem Browser öffnen, wird die Meldung "Fehler" angezeigt. Aber wenn Sie Fiddler einchecken, ist der Aufruf tatsächlich erfolgreich. In Fiddler können Sie auch sehen, dass die Antwort richtig gibt 32 als Antwort (Der Webservice konvertiert 0 Grad Celsius auf 32 Fahrenheit). Dies funktionierte für eine Weile auf meinem Desktop, dann hörte es plötzlich auf zu arbeiten!Warum funktioniert die Erfolgsmeldung in diesem Jquery Ajax nicht?
Für diejenigen von Ihnen, die Fiddler verwendet haben. Dies ist die Antwort, wie von Fiddler
HTTP/1.1 200 OK
Date: Thu, 05 Apr 2012 23:18:10 GMT
Server: Microsoft-IIS/6.0
MicrosoftOfficeWebServer: 5.0_Pub
X-Powered-By: ASP.NET
X-AspNet-Version: 4.0.30319
Cache-Control: private, max-age=0
Content-Type: text/xml; charset=utf-8
Content-Length: 87
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">32</string>
Alle Ideen überwacht?
Update: Jungs, die URL http://www.w3schools.com/webservices/tempconvert.asmx/CelsiusToFahrenheit ist eine Web-Methode. Sie können nicht direkt über einen Browser darauf zugreifen. Wenn Sie eine Anfrage über den Browser stellen möchten, verwenden Sie bitte http://www.w3schools.com/webservices/tempconvert.asmx?op=CelsiusToFahrenheit
Bitte antworten Sie nur, wenn Sie Erfahrung mit dem Aufruf eines Webservice mit jquery ajax haben.
Wenn Sie einfach die URL öffnen, erhalten Sie einen Fehler. Vielleicht haben sie das Skript heruntergenommen oder ist das, weil ich versuche, direkt darauf zuzugreifen? – Armatus
Die URL funktioniert für den Ajax-Webservice-Aufruf. Wenn Sie auf die URL durch den Browser zugreifen möchten, ist es http://www.w3schools.com/webservices/tempconvert.asmx?op=CelsiusToFahrenheit – developer747
Es ist [wahrscheinlich klug, w3schools zu vermeiden] (http://w3fools.com/)) – Quentin