Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在触发GET请求时显示内容而不是下载文件?_Javascript_Jquery_Angularjs - Fatal编程技术网

Javascript 如何在触发GET请求时显示内容而不是下载文件?

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

我有一个网页,将显示在表格格式的API响应。我使用Angular Js、Sevlets和Java-Rest-Assured框架开发了这个

表中的每条记录都有一个指向日志文件的链接,该日志文件是一个url,作为RESTAPI响应

当我将其作为锚定标记并从UI中单击时,文件将被下载,而不是在弹出窗口中打开

我这里的问题是,当用户单击链接时,如何从url获取数据,而不是将其作为文件下载

<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();
//对文档执行其他处理
}