Ajax:无效的XML错误

时间:2014-12-21 13:26:30

标签: jquery ajax xml

我被指示进行ajax调用以读取我的xml。当我尝试这样做时,我得到了一个解析错误。

当我通过验证器运行我的xml时,它似乎是正确的。

这是我的XML:

<?xml version="1.0" encoding="UTF-8"?>

<webservices>
<flickr>
    <api>
        <key>
            ***
        </key>
        <secret>
            ***
        </secret>
    </api>
    <url>
        <api-url>
        https://api.flickr.com/services/rest/?method=flickr.photos.search
        </api-url>
        <attr>
            tags=
        </attr>
        <attr>
            has_geo=1
        </attr>
        <attr>
            per_page=4
        </attr>
    </url>
</flickr>
</webservices>

ajax请求:

var getFlickrApi = function(){

   $.ajax({
       url: 'assets/xml/config.xml',
       dataType: 'xml',
       success: handleXML,
       error: handleError
   });

};

var handleXML = function(data){
    console.log(data);
};

var handleError = function(xhr, error, message){
    console.log(error, message);
};

错误消息:

message: "Invalid XML: <webservices>↵    <flickr>↵        <api>↵            <key>↵                ***↵            </key>↵ 

2 个答案:

答案 0 :(得分:1)

假设***不是xml中的真实内容,则必须确保允许其中的字符。

例如,必须对<>&之类的字符进行编码。

请参阅 http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined_entities_in_XML

答案 1 :(得分:0)

只需清除缓存即可解决此问题。似乎我的ajax调用正在访问我之前存储在缓存中的(不正确的)xml文档。

感谢所有想帮助我的人。