很简单的问题:为什么会权限不足呢?

meteorlyang 2009-02-26 08:39:59
刚开始学,做了一个例子。就是想将某个网站通过AJAX技术在DIV中显示。
var xmlhttp;
function getWeather()
{
var mycity=document.getElementById("TextBox1").value;
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.Open("GET","http://php.weather.sina.com.cn/search.php?city="+mycity,false); xmlhttp.onreadystatechange=stateChange;
xmlhttp.Send(null);
}
function stateChange()
{
if(xmlhttp.readystate==4&&xmlhttp.status==200)
{
var data=bytes2BSTR(xmlhttp.ResponseBody);
var begin=data.indexOf("天气状况begin");
var end=data.indexOf("天气状况end");
var weather=data.substring(begin+15,end);
document.getElementById("divweather").innerHTML=weather;
document.getElementById("divweather").style.visibility="visible";
}
}
但是一到红色那句就显示权限不足。这是什么问题呢
...全文
130 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
庚武讲堂 2009-03-02
  • 打赏
  • 举报
回复
建议在服务器端请求,服务器端是可以发送http请求的,php尤其简单,有个专门的函数,其它语言相应也有.静态生成分析.
adriano86426 2009-02-28
  • 打赏
  • 举报
回复
这是javaScript安全机制,javaScript是不能跨域访问的,
所谓跨域通俗的讲就是:访问页面所在服务器以外的其他服务器。
解决跨域访问最佳方案是使用服务器端语言结合AJAX完成跨域访问。
<<AJAX in Action>> 关于javaScript安全性一章对这个问题有专门的介绍
luojihaidao 2009-02-27
  • 打赏
  • 举报
回复
学习!
mlw2000 2009-02-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xumv_com 的回复:]
如你的网站是www.xxx.com 那就和http://php.weather.sina.com.cn不一样
着就是跨域问题 只有xmlhttp.Open("GET","http://www.xxx.com/search.php?city="+mycity,false);  才可以 需要一个网站才行 (但是要得到别人网站的数据还是可以的!不过不是这样)

一许你的代码在本地测试可以 但挂在网上就不行(因为本地不存在跨域)

[/Quote]
nod
xumv_com 2009-02-26
  • 打赏
  • 举报
回复
如你的网站是www.xxx.com 那就和http://php.weather.sina.com.cn不一样
着就是跨域问题 只有xmlhttp.Open("GET","http://www.xxx.com/search.php?city="+mycity,false); 才可以 需要一个网站才行 (但是要得到别人网站的数据还是可以的!不过不是这样)

一许你的代码在本地测试可以 但挂在网上就不行(因为本地不存在跨域)

52,797

社区成员

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

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