如何在 Javascript 函数中拦截 Web 服务器响应
How to intercept webserver response in Javascript function
这是我的困境。在我的 JSP 中,我正在尝试上传一个文件,该文件又转到 JS 函数。在我的JS函数中,正在创建一个动态iframe,并具有onload函数。onload 函数创建一个动态表单元素并继续提交它。
底层 Web 服务器是 IIS,如果文件大小很大,它会抛出 HTTP 错误 404.13,我会收到 HTML 响应。我想处理这个问题,不愿意解析 HTML 来查找错误代码。请建议我应该如何进行。
我的代码看起来像这样:
JSP 内容
<td>
<input type="image" id="uploadfile" src="../images/abc.gif" alt="Upload file" title="Upload File" />
<script type="text/javascript">
var uploadfile = document.getElementById('uploadfile');
upload({
element : uploadfile,
action : 'upload.jsp',
onstart : function(filename) {
document.getElementById("uploaded_file").innerHTML = "Uploading";
},
oncomplete : function(response_data) {
.......//some logic
}
});
</script>
</td>
简斯内容
function upload(d) {
var g = {
element : null,
action : "about:blank",
action_params : {},
maxsize : 0,
onstart : null,
oncomplete : null,
dataname : "Filedata",
target : null,
zindex : "auto"
};
.......//some logic
var c = document.createElement("div");
.......//some logic
c.innerHTML = '<iframe name="frameName" src="about:blank" onload="this.onload_callback()"></iframe>';
.......//some logic
var i = c.childNodes[0];
i.onload_callback = function() {
.......//some logic
var a = document.createElement("form");
.......//some logic
a.submit();
}
.......//some logic
}
当您提交表单时,浏览器会在 iframe 中发出新的顶级请求,该请求由浏览器本身处理,因此您无法访问 HTTP 返回代码。您可以做的是侦听 iframe 上的加载事件,或者(不确定它是否在您的控制之下)修改 IIS 响应以返回将结果传达给包含页面的脚本。
请注意,这将难以实现,并且可能难以移植到不同的浏览器,具体取决于支持的平台和所涉及的域。
您可以通过javascript异步提交表单,以完全控制HTTP响应。
相关文章:
- node.js将字符串转换为要上传到Web服务器的文件
- 根据HTML文件名授予web服务器写入权限
- 从Web服务器下载图像按钮单击使用JavaScript
- 使用c#在Web服务器上运行JavaScript方法
- 我如何设置HTTP头“;访问控制允许起源”;用于来自thttpd web服务器的HTTP响应
- 用于在web服务器中上载的文件路径
- Web服务器意外退出,正在重新启动新实例
- PhantomJS与嵌入式web服务器只使用一个CPU
- 错误301在web服务器上永久移动
- jQuery插件在本地主机上运行良好,但在web服务器上却与bg镜像混淆
- 如何确保只有您的javascript才能连接到您的Web服务器
- 从本地HTML / JavaScript(没有Web服务器)访问Google API
- 如何在 Javascript 函数中拦截 Web 服务器响应
- 用于嵌入式设备的占地面积最小的web服务器
- 将PHP/MMySQL转移到新的Web服务器,所有链接都会出现标签
- API的Web服务器
- 在drawImage、C#、AJAX、ASP.NET之后将图像从画布保存到Web服务器
- 如何通过C程序与web服务器对话
- 更新网页上Web服务器程序的实时输出
- Javascript在本地工作,不会在Web服务器上工作