我正试图根据SproutCore 1.8建立一个网络。 为了从服务器中检索数据,该数据显示,COSPA系统向一个单独的领域运行的REST网络服务提出请求。
这部法典如下:
var request = SC.Request.getUrl( http://example.com/some/path );
request.set( attachIdentifyingHeaders , NO);
request.json().notify(this, this.didFetchData).send();
这在“ Chrome”、“Sato”和“Little”中发挥了巨大作用,但在“因特网探索者9”中却做了大量工作。 事实上,IE9在SproutCore的内部请求执行中,变成了“Access Denied”的 Java本错误。 错误在这条线上提出:
// initiate request.
rawRequest.open(this.get( type ), this.get( address ), async);
在经过一些简短的调查之后,我发现,微软在IEE9中为索再解放联盟的请求实施了专门的XDomainRequest。 这似乎没有得到SproutCore的支持,因为我从这些路线(临时土著申请执行选择):
return tryThese(
function() { return new XMLHttpRequest(); },
function() { return new ActiveXObject( Msxml2.XMLHTTP ); },
function() { return new ActiveXObject( Microsoft.XMLHTTP ); }
);
Is this a shortcoming of SproutCore or am I missing something? If so, do you have any suggestions as to how I could work around the issue without writing my own request abstraction?
请注意,COSPAS是我所投入的现有服务器基础设施的一项要求。 我既不能把服务放在与向客户提供服务的服务器相同的领域,也不能用反向法或类似的基础设施解决问题。