Javascript 如何在触发GET请求时显示内容而不是下载文件?
我有一个网页,将显示在表格格式的API响应。我使用Angular Js、Sevlets和Java-Rest-Assured框架开发了这个 表中的每条记录都有一个指向日志文件的链接,该日志文件是一个url,作为RESTAPI响应 当我将其作为锚定标记并从UI中单击时,文件将被下载,而不是在弹出窗口中打开 我这里的问题是,当用户单击链接时,如何从url获取数据,而不是将其作为文件下载Javascript 如何在触发GET请求时显示内容而不是下载文件?,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我有一个网页,将显示在表格格式的API响应。我使用Angular Js、Sevlets和Java-Rest-Assured框架开发了这个 表中的每条记录都有一个指向日志文件的链接,该日志文件是一个url,作为RESTAPI响应 当我将其作为锚定标记并从UI中单击时,文件将被下载,而不是在弹出窗口中打开 我这里的问题是,当用户单击链接时,如何从url获取数据,而不是将其作为文件下载 <td> <a ng-href="{{item.outputuri}}" target="_bla
<td> <a ng-href="{{item.outputuri}}" target="_blank">Click Log
</a>
</td>
我读过几篇文章,知道我们需要在服务器端设置内容配置。但这是不可能的,所以我想从客户端处理它
提前感谢。与其尝试转到单独的url,不如直接在同一页面上显示内容?您可以通过动态创建IFRAME元素并直接在页面上插入主机来显示内容 下面的
displayContent
方法请求url,然后将内容传递给createIframe
。该方法将创建IFRAME元素并将内容写入其中。我将基本元素添加到内容中,以确保正确呈现任何相对链接
this.displayContent = function(url) {
$http.get(url).then(res => this.createIfram(url, res.data, this.hostElem);
}
this.createIframe = function(baseUrl, content, appendToElem) {
var iframe = document.createElement('iframe');
iframe.className = 'content';
appendToElem.appendChild(iframe);
iframe.contentWindow.document.open();
iframe.contentWindow.document.write('<base href="' + baseUrl + '" />');
iframe.contentWindow.document.write(content);
iframe.contentWindow.document.close();
// do some other processing on the document
}
this.displayContent=函数(url){
$http.get(url).then(res=>this.createIfram(url,res.data,this.hostElem);
}
this.createIframe=函数(baseUrl、内容、appendToElem){
var iframe=document.createElement('iframe');
iframe.className='content';
appendToElem.appendChild(iframe);
iframe.contentWindow.document.open();
iframe.contentWindow.document.write(“”);
iframe.contentWindow.document.write(内容);
iframe.contentWindow.document.close();
//对文档执行其他处理
}