繁体   English   中英

JQuery ajax()获取xml响应文本

[英]JQuery ajax() get xml response text

我正在尝试从Gmail API中检索一些XML。 到目前为止我有这个:

$.ajax({
    url: "https://mail.google.com/mail/feed/atom/",
    success: function(data) {
        console.log(data.responseText);
    }
});

我确信数组数据有一个名为responseText的值,因为当我得到我的代码来记录数据时,控制台告诉我。 但是,当我尝试记录data.responseText ,它会记录数据并忽略我指定参数的事实(它没有说明没有定义responseText)。 我究竟做错了什么?

编辑:这是控制台说data的屏幕截图:

编辑,回应凯文:我试过这个:

$.ajax({
    url: "https://mail.google.com/mail/feed/atom/",
    dataType: "xml",
    success: function(data) {
        console.log($("feed fullcount",data).html());
    }
});

它说它“无法调用方法'替换'未定义':o

data不是xhr对象,而是将xml字符串转换为XML Document 因此,除非xml doc具有responseText节点,否则它没有responseText属性。 另外,如果您期望xml,请将dataType: "xml"添加到您的ajax选项中。

$.ajax({
    url: "https://mail.google.com/mail/feed/atom/",
    dataType: "xml",
    success: function(data) {
        console.log(data);
    }
});

编辑:现在我在你的问题中看到(编辑后)它实际上是一个xhr对象...这很奇怪......

尝试使用data.responseText [0]而不是data.responseText。

编辑: https//mail.google.com/mail/feed/atom/它要求我登录。

如果您只想显示文本格式响应,则可以执行此操作

dataType: "text",

 $.ajax({ url: "https://miranda-zhang.github.io/cloud-computing-schema/v1.0/ontology.xml", dataType: "text", success: function(text) { $('textarea').val(text); }, }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <textarea cols="60" rows="10"></textarea> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM