jQuery Ajax 調用 WSDL
以往,我們在 JavaScript 中調用 SOAP 服務需要通過 XMLHttpRequest,但是這種方法造成了很多麻煩。為了減少開發人員的工作量,使用 jQuery 可以輕松地在 JavaScript 中調用 SOAP 服務。現在,我們就通過 jQuery Ajax 調用 WSDL 來演示這一過程。
第一步:引入 jQuery
首先,我們需要引入 jQuery,由于 jQuery 已經很流行,我們可以直接引用 jQuery 的 CDN 地址:
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
第二步:創建 Ajax 請求
接下來,我們通過 jQuery 的 Ajax 方法,創建 Ajax 請求:var xml = '<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">\
<Body>\
<GetCityForecastByZIP xmlns="http://ws.cdyne.com/WeatherWS/">\
<ZIP>90210</ZIP>\
</GetCityForecastByZIP>\
</Body>\
</Envelope>';
$.ajax({
type: "POST",
url: "http://wsf.cdyne.com/WeatherWS/Weather.asmx",
contentType: "text/xml",
dataType: "xml",
data: xml,
success: function (result) {
console.log(result);
},
error: function (err) {
console.log(err);
}
});
上面的代碼中,我們通過 POST 方式請求了 WSDL 的地址,并將要提交的 XML 數據存儲在 XML 變量中。contentType 和 dataType 屬性設置為 "text/xml" 和 "xml",以便 Ajax 知道我們將發送和接收的數據類型為 XML。在 success 和 error 回調函數中,我們可以打印出結果或錯誤的信息。
第三步:處理返回結果
最后,我們需要處理我們所得到的結果。由于我們使用的是 XML 數據,我們可以通過 jQuery 的 find 方法來獲取數據:$(result).find("GetCityForecastByZIPResult").each(function () {
var currentTemperature = $(this).find("Temperature").text();
console.log(currentTemperature);
});
上面的代碼中,我們通過 find 方法來獲取 XML 中的數據,并將結果打印出來。
至此,我們使用 jQuery Ajax 調用 WSDL 的工作已經完成了。jQuery 已經極大地簡化了 JavaScript 的開發工作,讓我們可以專注于業務邏輯的實現。