Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

$.parseXML not working with valid xml

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
like image 204
Nahydrin Avatar asked Apr 13 '12 19:04

Nahydrin


1 Answers

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.

like image 168
James Montagne Avatar answered Oct 27 '22 04:10

James Montagne