javascript XMLHttpRequest setRequestHeader 无效

我在JavaScript的应用中遇到一个问题:

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = callback;
xmlhttp.open("GET",url,true);
xmlhttp.setRequestHeader("Authorization", "Basic bGV5aWZyZWU6MTY4OTE4dHdpdHRlcg==");
xmlhttp.setRequestHeader("Accept","application/json");
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

在firefox的firebug下,报401错误,然后我觉得是 setRequestHeader 值无效
firebug下显示的相应的值为:
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Content-Type 和 Authorization 值都没有显示,是否是我的 setRequestHeader 这些操作无效????

你这就是在用ajax进行跨域调用,这当然是不行的,
你不能用ajax来访问外部的网络,你只能用jdk的api或httpclient在服务端读取到
http://stream.twitter.com/1/statuses/filter.json?track=ipod的数据,而ajax的话,你只能访问自己你当前这个页面所在的应用

好像没有问题呀

[quote]
function callback (){}

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = callback;
xmlhttp.open("GET","/",true);
xmlhttp.setRequestHeader("Authorization", "Basic bGV5aWZyZWU6MTY4OTE4dHdpdHRlcg==");
xmlhttp.setRequestHeader("Accept","application/json");
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send(null);
[/quote]

[quote]
Host www.iteye.com
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2) Gecko/20100115 Firefox/3.6
Accept application/json
Accept-Language zh-cn,zh;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset GB2312,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
[b]Authorization Basic bGV5aWZyZWU6MTY4OTE4dHdpdHRlcg==
Content-Type application/x-www-form-urlencoded[/b]
Referer http://www.iteye.com/problems/37366
[/quote]

会不会是你的firefox禁止这种操作?

1)确保你的user, password正确
2)function callback (){}

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = callback;
xmlhttp.setRequestHeader("Authorization", "Basic bGV5aWZyZWU6MTY4OTE4dHdpdHRlcg==");
xmlhttp.setRequestHeader("Accept","application/json");
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.open("GET","/",true);
xmlhttp.send(null);

//注意设置顺序

你没跨域调用吧,ajax不支持跨域调用的

对 ajax是不支持跨域调用的,你可以参考Jquery的跨域调用:
[url]http://www.iteye.com/topic/260647[/url]