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

怎样解决异域问题---只能在IE中正常使用。。。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title></title>

<script type="text/javascript">

function search1()
{
var url="http://book.douban.com/subject_search?search_text="+document.getElementById('txtSearchValue').value;

var xmlhttp;
var returnData;

if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
<!-- returnData=document.getElementById("txtHint").innerHTML=xmlhttp.responseText; -->
returnData=xmlhttp.responseText;
//alert(returnData);
document.getElementById("myDiv").innerHTML=returnData;
}
}
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
</script>
</head>
<body>
<input type="text" name="" id="txtSearchValue" value="9787544745703" />

<button onclick="search1()">search1</button>
<div id="myDiv"><h2>Let AJAX change this text</h2></div>


</body>
</html>


以上代码,在IE中是正常执行的。

我想放到手机上使用的HTML文件,是andorid的机子,没有哪个浏览器是用IE内核的。。。

怎样处理才可以使用呢?

------解决方案--------------------
一般会在本地服务器端做个代理,由服务器去取数据就不会有跨域问题了,客户端只是访问本地同源服务器的页面。
------解决方案--------------------
引用:
Quote: 引用:

一般会在本地服务器端做个代理,由服务器去取数据就不会有跨域问题了,客户端只是访问本地同源服务器的页面。


在手机上怎么做代理呢?

是在你自己的网站做一个页面,这个页面用服务器端xhr捉去远程数据,服务器端xhr没有跨域问题,这个就是代理页面
如果没有自己的站点无解,除非别人提供jsonp操作或者设置了Access-Control-Allow-Origin响应头允许你跨域请求这个页面
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

一般会在本地服务器端做个代理,由服务器去取数据就不会有跨域问题了,客户端只是访问本地同源服务器的页面。


在手机上怎么做代理呢?

是在你自己的网站做一个页面,这个页面用服务器端xhr捉去远程数据,服务器端xhr没有跨域问题,这个就是代理页面
如果没有自己的站点无解,除非别人提供jsonp操作或者设置了Access-Control-Allow-Origin响应头允许你跨域请求这个页面


谢谢讲解,我在IIS建立了一个HTML页面,
然后在浏览器访问:http://localhost/douban_Search.html

结果:IE8,9可以接收到返回数据,
IE10,FireFox 25通过监控,都只看到请求并返回了200,但就是没有响应文本回来。

还是存在跨域?


安全配置的问题,localhost是intranet安全级别,默认是开启通过域访问数据源的,就是允许跨域,IE10可能是关闭了这个功能。IE7+浏览器下XMLHttpReques