如果以下代码我没有status 200
和responseText
。但是此网址有效:http://api.microsofttranslator.com/V2/Http.svc/GetLanguagesForTranslate?appId=F1B50AB0743B541AA8C07089042D7B57E9B28D25
。同样在Wireshark中,我看到我得到的是status 200
和data
。我的Javascript代码有什么问题?
function btnclick()
{
var http = new XMLHttpRequest();
var str = "";
http.open('GET', 'http://api.microsofttranslator.com/V2/Http.svc/GetLanguagesForTranslate?appId=F1B50AB0743B541AA8C07089042D7B57E9B28D25',
true);
http.onreadystatechange = function (evt)
{
if (http.readyState == 4 && http.status == 200)
{
alert(http.responseText);
}
}
http.send(null);
}
答案 0 :(得分:2)
您正在尝试制作跨域XHR。这违反了same origin policy。
您可以构建服务器端代理,并使用XHR请求它。
答案 1 :(得分:0)
如果您正在进行AJAX,您可能希望使用AJAX版本来克服跨域问题。 http://msdn.microsoft.com/en-us/library/ff512404.aspx