0
我有一個來自Web服務的SOAP響應,我只是試圖從body元素中的'Total Cost'中提取'Amount'元素。我熟悉如何在JSON中執行此操作,但我正努力在網上查找有關如何使用Javascript/jQuery使用SOAP執行操作的任何材料。使用Javascript從SOAP中提取數據
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:TotalCostResponse xmlns="http://get_total_cost_request.business.ws.test.com" xmlns:ns1="http://business.ws.test.com" xmlns:ns2="http://get_total_cost_response.business.ws.test.com">
<ns2:MSG>
<ns2:HEADER>
<ns2:SITENO>1</ns2:SITENO>
<ns2:SYSTEM_ID>S01</ns2:SYSTEM_ID>
<ns2:CLUSTER_NAME>BUSINESS</ns2:CLUSTER_NAME>
<ns2:SERVICE_METHOD>TOTAL_COST</ns2:SERVICE_METHOD>
<ns2:VERSION_NO>1.0</ns2:VERSION_NO>
</ns2:HEADER>
<ns2:BODY>
<ns2:TOTAL_COST>
<ns2:AMOUNT>2139.82</ns2:AMOUNT>
<ns2:CURRENCY>GBP</ns2:CURRENCY>
</ns2:TOTAL_PREMIUM>
</ns2:BODY>
</ns2:MSG>
</ns1:TotalCostResponse>
</soap:Body>
</soap:Envelope>
在JSON中,這將是類似的;
var obj = JSON.parse(data.TotalCostResponse.MSG.BODY.TOTALCOST.AMOUNT);
但對於我的生活,我無法解決如何用SOAP來做到這一點。任何幫助將大力讚賞!
更新1 調用正在使用jquery的AJAX方法,根據控制檯MSG是未定義的。這可能與SOAP命名空間有關嗎?
$.ajax({
type: "POST",
url: URL,
data: dataSet,
dataType: "xml",
contentType: "text/xml; charset=\"utf-8\"",
success: function(data) {
obj = $.parseXML(data.TotalCostResponse.MSG.BODY.TOTAL_COST.AMOUNT);
}});
感謝您的幫助!如果您能夠提供幫助,我在更新中添加了一個問題 –