0

如果以下代码我没有得到status 200responseText. 但是这个 URL 有效: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);
}
4

2 回答 2

2

您正在尝试制作跨域 XHR。这违反了同源政策

您可以构建一个服务器端代理,并使用 XHR 请求它。

于 2011-03-08T04:50:58.983 回答
0

如果您正在使用 AJAX,您可能希望使用 AJAX 版本来克服跨域问题。 http://msdn.microsoft.com/en-us/library/ff512404.aspx

于 2011-06-06T19:29:54.207 回答