关于 javascript + ajax 的一个菜鸟问题。。。

来源:百度知道 编辑:UC知道 时间:2024/05/26 18:20:17
xmlhttp.open("GET",myurl,true);其中的myurl 不可以是站外的网址吗? 比如 xmlhttp.open("GET","http://www.baidu.com",true)

以下是我的代码,所报错误为“没有权限” 请问为什么? 我就是想myurl 是站外的一个链接,请问如何做到?谢谢。。

//...........创建XMLHttpRequest对象....................
var xmlhttp;
function creatXMLHttpRequest(){
if(window.ActiveXObject)
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
else if(window.XMLHttpRequest)
xmlhttp = new XMLHttpRequest();
}

//.................事件触发后执行的代码............
function startrequest(){
creatXMLHttpRequest(); //激活上面的XMLHttpRequest对象
var myurl = "http://www.kadaxue.com"
xmlhttp.open("GET",myurl,true); //创建请求

xmlhttp.onreadystatechange = functi

不可以 AJAX不能跨域访问

对,我开发过这样的程序,如果你想你的JS代码跨域,那么你只能在本机架设服务器,用本机登录,如果你传到服务器上,那么就会被限制,告诉你没有权限。
解决办法就是,你的跨域访问用服务器程序(如PHP JAVA)来实现,然后JS访问你自己的服务器程序。
我开发的时候用的是PHP,PHP相当于JS的AJAX函数是这个curl_setopt()

以下是我的PHP跨域访问的代码,如果你开发的是PHP可以借鉴,如果是JAVA等程序你可以自己上网收收,可定都有这样的函数。

$ch = curl_init();
$userName = $_GET["username"];
$url="http://www.xxxxx.com/aaa.jsp";
$header[] = "Content-type: text/html";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$response = curl_exec($ch);

if(curl_errno($ch))
{
print curl_error($ch);
}
curl_close($ch);
echo $response;

然后你不用让这个页面显示什么,直接用AJAX回调这个程序就行,他就等于中间倒一手,解决跨域问题

这种情况除非使用webservice技术 或许可以实现 因为你那属于是跨程序的跨域的访问,除非是你配置了本地的webservice 并且得到了他们的接口才可以调用它们的程序,如果要是