在 jQuery 中设置“接受”标头以在 iframe 中检索数据

Posted

技术标签:

【中文标题】在 jQuery 中设置“接受”标头以在 iframe 中检索数据【英文标题】:Set "Accept" headers in jQuery for retrieving data in iframe 【发布时间】:2011-05-24 14:50:31 【问题描述】:

我有一个网页,我正在向其附加 iframe,如下所示:

$('<iframe id="testIframe" />').src('http://www.google.nl/').appendTo('body');

为加载此 iframe 的内容而发送的 Accept 标头设置为:

application/xml, application/xml+xhtml, text/html, text/plain, */*

这里的问题是响应现在以 XML 形式返回,因为在服务器端读取了接受标头,并且以接受标头发送的格式发送回响应(在本例中使用 application/xml)。

现在我知道我可以使用 $.load() 功能并为此设置接受标头,但我不知道如何在 iframe 中显示返回的 HTML。例如,这显示了一个空白 iframe:

$('#testIframe').load('http://www.google.com/', function(response) 
    $('#testIframe').append(response);
);

任何帮助将不胜感激!

【问题讨论】:

【参考方案1】:

这样的?

$('#testIframe').load('http://www.google.com/', function(response) 
    var doc = $('#testIframe')[0].contentDocument || $('#testIframe')[0].contentWindow.document
    doc.write(response);
    doc.close()
);

【讨论】:

以上是关于在 jQuery 中设置“接受”标头以在 iframe 中检索数据的主要内容,如果未能解决你的问题,请参考以下文章

在 URL 中设置请求标头?

在 asp.net MVC 中设置整数标头值

如何在HTTP标头中设置REMOTE_USER?

带有域字段的 CORS cookie 仅在使用 jQuery AJAX 的 Firefox 中设置

如何在 axios 中设置全局标头?

在 axios 中设置授权标头