$.parseXML not working with valid xml

2019-04-23 01:13发布

XML:

<?xml version="1.0"?>
<choices>
    <choice>
        <start>39</start>
        <duration>6</duration>
        <path>
            <name></name>
            <complete></complete>
        </path>
        <path>
            <name></name>
            <complete></complete>
        </path>
    </choice>
</choices>

$.ajax({
    url: 'choices.xml',
    context: this,
    async: false,
    success: function(response) {
        var xmlDoc = $.parseXML(response);
        console.log(xmlDoc); // null
    }
});

The XML is reported as valid, and no error is thrown. I know I can use $(response), but I don't need that.

  • jQuery 1.7.2

1条回答
乱世女痞
2楼-- · 2019-04-23 01:49

dataType
Default: Intelligent Guess (xml, json, script, or html)

"xml": Returns a XML document that can be processed via jQuery.

The $.ajax() function relies on the server to provide information about the retrieved data. If the server reports the return data as XML, the result can be traversed using normal XML methods or jQuery's selectors. If another type is detected, such as HTML in the example above, the data is treated as text.

The result should already be parsed.

If you specifically don't want it to be parsed, use a different dataType.

查看更多
登录 后发表回答