使用ajax检索xml响应并显示结果

时间:2012-08-14 07:38:36

标签: php jquery xml ajax

我知道如何使用$ .ajax方法发布。 我有一个将数据发布到付款API的表单,这就是响应的样子:

<ns2:GetTransactionsResponseType xmlns:ns2="http://www.paymentgateway.com/schema/api/2.0/service.xsd">
<Timestamp>2012-08-14T17:33:55.213+10:00</Timestamp>
<Version>2.0</Version>
<Status>Success</Status>
<total>0</total>
</ns2:GetTransactionsResponseType>

如您所见,交易总数为0, 所以第1步使用$ .ajax发布帖子请求,然后成功:我想做$('#results'),html('the total transactions are: '+numberoftransactions); 任何想法/建议?谢谢

2 个答案:

答案 0 :(得分:2)

你可以尝试这样的事情

$(function(){

    $.ajax({
         type: "GET",
         url: $uri,
         dataType: "xml",
         async: false,
         contentType: "text/xml; charset=\"utf-8\"",
         complete: function(xmlResponse) {

                // So you can see what was wrong...
                console.log(xmlResponse);
                console.log(xmlResponse.responseText);

              $("#preForXMLResponse").text(xmlResponse.responseText);
         }
    });

});

尝试在responseText中找到所需的值

欲了解更多信息,请访问此链接

The XMLHttpRequest Object

答案 1 :(得分:1)

我猜rahul已经回答了你的问题所以我只想补充一点,如果你试图将数据传递给url并相应地获得响应,那么你可以在发出ajax请求时利用data属性。 假设您正在尝试根据用户配置文件获取xml响应,因此您必须将用户ID传递给URL才能获得准确的响应。你可以像这样做

$(function(){

$.ajax({
     type: "GET",
     url: $uri,
     data: $user_id, //this id will be passed with the request to the url as query string
     dataType: "xml",
     async: false,
     contentType: "text/xml; charset=\"utf-8\"",
     complete: function(xmlResponse) {

            // So you can see what was wrong...
            console.log(xmlResponse);
            console.log(xmlResponse.responseText);

          $("#preForXMLResponse").text(xmlResponse.responseText);
     }
});

});

希望这有助于或者可能是我不理解你正在寻找的东西。