jquery以及ajax跨域调用问题

yanglo090506ym 2011-11-23 10:58:18
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="jquery-1.7.min.js"/>
</script>

<script type="text/javascript">
$(document).ready(function(){
$("#Access").click(function(){
$.ajax({
type:'GET',
url:'http://www.baidu.com',
success:function(reqContent)
{
$("#browser").html(reqContent);
$("#content").text(reqContent);

},
error:function()
{
$("#browser").html("error");
$("#content").text("error");
}
});
$("#browser").html("<h1>正在打开百度搜索</h1>");
});
});
</script>
<style type="text/css">

</style>

</head>
<body>
<input id="Access" type="button" value="Access"/>
<br/>
<textarea id="content"></textarea>
<div id="browser"></div>
</body>
</html>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="jquery-1.7.min.js"/>
</script>

<script type="text/javascript">
var xmlRequest;
function CreateRequest()
{
if(window.ActiveXObject)
{

return new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{

return new XMLHttpRequest();
}
}

function ResponseHandler()
{

if(xmlRequest.readyState == 4 && xmlRequest.status == 200)
{

var reqContent = xmlRequest.responseText;
document.getElementById("browser").innerHTML = reqContent;
document.getElementById("content").value = reqContent;
}
}

function AjaxAccess()
{
xmlRequest = CreateRequest();
xmlRequest.onreadystatechange = ResponseHandler;
xmlRequest.open("GET", "http://www.baidu.com");
xmlRequest.send(null);


var brow = document.getElementById("browser");
brow.innerHTML = "<h1>正在打开baidu搜索</h1>";
}

window.onload = function()
{
document.getElementById("Access").onclick = AjaxAccess;
}
</script>
<style type="text/css">
.input_focus{
font-size:13PX;
color:#000;
border:solod 2px #069;
}
</style>

</head>
<body>
<input id="Access" type="button" value="Access"/>
<br/>
<textarea id="content"></textarea>
<div id="browser"></div>
</body>
</html>



以上两段代码 ,第一段在IE及Chrome中都无法运行, 第二段在IE中正常运行, 但是在chrome中无法运行, 我查了下, 好像是因为ajax不能跨域访问的问题, 但是由于我是新手, 不知道该怎么解决这个问题, 求大神给个解决方案, 最好详细些,带代码的, 还有,问一下,用jquery封装之后的ajax也无法实现跨域访问吗。 求指教。。。
...全文
140 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanglo090506ym 2011-11-24
  • 打赏
  • 举报
回复
不好意思 能具体点吗 需要更改什么代码吗 新手不是特别了解 谢谢了。。。
yanglo090506ym 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 yanglo090506ym 的回复:]
HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv……
[/Quote] 不好意思 能具体点吗 需要更改什么代码吗 新手不是特别了解 谢谢了。。。
hookee 2011-11-24
  • 打赏
  • 举报
回复
这个涉及到服务器端用什么语言去写。 一般就是通过http或者 sockect组件或者API的 调用来完成,类似浏览器端的xmlhttp,只不过服务器上的程序没有跨域的限制。
yanglo090506ym 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hookee 的回复:]

安全问题, 就是这么规定的,没办法直接调用. jq只是封装,最终还是用xmlhttp
可以 用本地(同域)服务器端程序做代理,在本地服务器端取跨域的内容,然后再传给本地客户端浏览器。
[/Quote] 不好意思 能具体点吗 需要更改什么代码吗 新手不是特别了解 谢谢了。。。
hookee 2011-11-23
  • 打赏
  • 举报
回复
安全问题, 就是这么规定的,没办法直接调用. jq只是封装,最终还是用xmlhttp
可以 用本地(同域)服务器端程序做代理,在本地服务器端取跨域的内容,然后再传给本地客户端浏览器。
licip 2011-11-23
  • 打赏
  • 举报
回复
夸域要用其它的方式。不能这样用。

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧