Javascript XMLHttpRequest和Bing转换器
如果以下代码未获得Javascript XMLHttpRequest和Bing转换器,javascript,ajax,http,bing-api,Javascript,Ajax,Http,Bing Api,如果以下代码未获得状态200和responseText。但是这个URL是有效的:http://api.microsofttranslator.com/V2/Http.svc/GetLanguagesForTranslate?appId=F1B50AB0743B541AA8C07089042D7B57E9B28D25。同样在Wireshark中,我看到我得到了预期的状态200和数据。我的Javascript代码有什么问题 function btnclick() { var http = n
状态200
和responseText
。但是这个URL是有效的:http://api.microsofttranslator.com/V2/Http.svc/GetLanguagesForTranslate?appId=F1B50AB0743B541AA8C07089042D7B57E9B28D25
。同样在Wireshark中,我看到我得到了预期的状态200
和数据。我的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);
}
您正在尝试创建跨域XHR。这违反了法律
您可以构建一个服务器端代理,并使用XHR请求它。如果您使用AJAX,您可能希望使用AJAX版本来解决跨域问题。
所以从客户端的网页上,我无法发起请求?只有通过服务器才能删除“源:”头?@Igor服务器不需要发送任何不同的头,同一源策略是一个浏览器沙盒。