日期:2014-05-16  浏览次数:20629 次

xmlhttp adostream 相关问题,在.net版有100分一齐结
请高手们看清问题,谢谢:

情况背景:
现有A系统中的,有一个图img要提交到B,此图必须登录后,经过一系列人工选择后才能确定是那个图。A系统不透明,不可改,不提供接口。

目前本人解决方案:
做一个页面 a.html 包含一个 iframe,让用户在iframe中登录A系统,点击,选择最终让ifram得到图img的url,此时窗口拥有是已经登录的sessionid。

使用xmlhttp get 这个url 成功后得到图片的二进制数据。

此时问题来了
xmlhttp.responseBody IE 会报错(必须用ie,请不要建议我换浏览器)
xmlhttp.responseStream 没报错,但在后面发送时,表示对象为空或不是对象。

xmlhttp.responseText 报c00ce514错误。

强制

var strValue = new ActiveXObject("ADODB.Stream"); 
strValue = xmlhttp.responseStream;

没报错,但在后面发送时,表示对象为空或不是对象。

采用如下方法定义
var strValue = xmlhttp.responseStream;

此时再开一个xmlhttp_1 post 到 aaa.axhx

调用方法

xmlhttp_1.send(strValue.read());

表示对象为空或不是对象。

调用方法

xmlhttp_1.sen(strValue);

成功,但上传的内容长度为0

抓包显示

Failed to open POST stream

================================
以上,请问大家有什么解决办法吗?

------解决方案--------------------
你遇到的是“javaScript跨域访问”问题,所以你照这个方向去,就对了,