我在我的项目中实现YUI自动完成。我创建了一个提供自动填充建议的Web服务。当我在同一台机器上部署我的应用程序和Web服务时,所有的事情都很好。但是当我在不同的机器上部署Web服务时,它在Firefox中不起作用(但它在IE中工作)。我认为,因为它的相同原产地政策不适用于Mozilla。
这里是我的自动完成代码如何在Mozilla中解决相同的原产地策略
<script type="text/javascript">
YAHOO.example.BasicRemote = function() {
// Using an XHRDataSource to connect to web service
var oDS = new YAHOO.util.XHRDataSource("http://host_other_than_my_machine/i2b2/services/AutocompleteService/getCodes");
// Set the responseType as XML
oDS.responseType = YAHOO.util.XHRDataSource.TYPE_XML;
// Define the schema of the delimited results
oDS.responseSchema = {
resultNode: 'code',
fields: ['value']
};
// Enable caching
oDS.maxCacheEntries = 0;
// Instantiate the AutoComplete
var oAC = new YAHOO.widget.AutoComplete("myInput", "myContainer", oDS);
return {
oDS: oDS,
oAC: oAC
};
}();
</script>
我的问题是
1)是同源策略是实际的问题?如果是,那么IE是不是绑定到相同的政策,因为我的代码在IE中工作?
2)如何摆脱它?我知道一些PHP代码可以用来重定向请求,但我怎么可以在这里使用它?
〜Ajinkya。
感谢您的建议,但我不能尝试这种方法,因为它将部署在许多机器上,我不确定他们的名字。 – xyz