阅读使用jQuery XML文件(Read XML file with jQuery)

2019-10-17 10:11发布

我在形式的XML文件:

<cart>
<itemCount>1</itemCount>
<cartTotal>33.94</cartTotal>
</cart>

这是跟踪什么是电子商务购物车的内容。 因此,它永远只有一个“购物车”节点。

我想读“cartTotal”字段。 如果大于0,那么我想显示的网站上我的“查看购物车”按钮。

我试过以下,它不工作:

$(document).ready(function(){
    $.ajax({
        type: "GET",
        url: "https://www.example.com/file.xml",
        dataType: "xml",
        success: function(xml) {
            $(xml).find('cart').each(function(){
                if (($(this).attr('cartTotal')) > 0) {
                    $("a.view-cart-button").css('visibility', 'visible');
                }
            });
        }
    });
});

Answer 1:

内的元素<cart>...</cart>不是属性 ,但子节点

更换:

if (($(this).attr('cartTotal')) > 0) {
    $("a.view-cart-button").css('visibility', 'visible');
}

附:

if ( $('cartTotal',$(this)).text()*1 > 0) {
    $("a.view-cart-button").css('visibility', 'visible');
}

修订

与调用XML文件,使用AJAX,在另一个领域,并没有警告CORS到位的访问,这将失败,请尝试以下操作:

$(document).ready(function(){

    $.ajax({
        type: "GET" ,
        url: "https://secure.ultracart.com/cgi-bin/UCJavaScript?merchantid=DEMO&type=xml" ,
        dataType: "xml" ,
        success: function(xml) {
            if( $(xml).find('cartTotal').text()*1 > 0 ){
                $("a.view-cart-button").css('visibility', 'visible');
            }
        }
    });

});​

如果你正在处理一个支付网关,或者类似的,参考它们的文档第一 - 他们会指定如何你可以与他们从您自己的网站进行互动。



文章来源: Read XML file with jQuery