相同的JS代码,ie下执行可以调用到后台代码,Firefox却无法调用到后台代码

this.SAVEFILE=function(httpclient,FileName){//时发生交互OPTION值为:SAVEFILEhttpclient.AddFor... this.SAVEFILE = function (httpclient, FileName) {//时发生交互OPTION值为:SAVEFILE
httpclient.AddForm("FormData", this.WebSendMessage());
httpclient.AddFile("FileData", FileName); //需要上传的文件
this.WebClearMessage();
httpclient.ShowProgressUI = false; //隐藏进度条
console.log(this.WebUrl);
console.log("http://192.168.28.48:8080/meeting/OfficeServer");
console.log("FileName ="+FileName);
//httpclient.Open(this.HttpMethod.Post, this.WebUrl, false)
if (httpclient.Open(this.HttpMethod.Post, "http://192.168.28.138:8080/meeting/OfficeServer", false)) {//这里采用同步方式打开文档。我要返回值
if (!httpclient.Send()) {
if (httpclient.Status == 0) {
if (!httpclient.Send()) {
return false;
}
}
}
httpclient.Clear();
return true;
}
return false;
}

其中httpclient.Open(this.HttpMethod.Post, "http://192.168.28.138:8080/meeting/OfficeServer", false)一行,ie下可以成功调用到officeServer后台代码,在火狐下执行到这一步,后台代码没有被调用,没有后台代码中的输出,请问如何解决?
展开
 我来答
火狐
2016-07-18 · Firefox,最快最安全的上网体验
火狐
Mozilla Firefox火狐浏览器,是一款开放安全的开源浏览器,全球拥有5亿用户。
向TA提问
展开全部
导致这个问题原因有且只有一个,在火狐浏览器下,通过ajax方式进行跨域访问是被定义为不安全和恶意行为,默认是被阻止的。
故而当前源码中的请求无法执行。
更多追问追答
追问
可是如果我想实现在火狐下发送这个请求的这个功能,能通过什么方法实现呢?
追答
目前要想在firefox下绕开这个限制有且只有一个办法就是利用插件,最常见的就是flash插件,因为插件的权限不是继承于浏览器的,可以更高。不过实现起来的技术成本比较高,比如文件上传很多就是基于flash实现,主要也是利用其插件的权限绕开浏览器的权限限制。

其实还有一个实现思路,你这个接口一看就是一个webservice,你不如把交互的过程放到java(随便哪种当前正在使用的开发语言都可以)代码中,起到一个代理透传的效果,再进行本地调用。
ps...0@163.com
2016-07-15 · 超过14用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:12万
展开全部
亲要发送请求台才借助ajax
追问
httpclient.Open 不能用吗?为什么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式