0

我正在使用 domainAPI 站点(目前是免费的)来处理域可用性检查。他们的简短文档在这里

我对大部分内容都很陌生,所以我可能会忽略一些明显的东西。标题的第二部分是我的用户名和密码,加密为 base64,格式为 username:password。如果我直接访问该 url,相同的用户名和密码成功地使我可以访问。

我到目前为止的代码如下,但仍然失败:

$('#domain').keyup(function() {
    $("#loading").show();
    $.ajax({
        url: 'http://api.domainapi.com/v1/availability/example.com',
        type: 'GET',
        datatype: 'json',
        success: function() { alert("Success"); },
        error: function() { alert('Failed!'); },
        beforeSend: function setHeader(xhr) {xhr.setRequestHeader('Authorization', 'Basic ZW1iZXJza2VjaDp6eWFrc21hdnNvenY=');}
    });
});
4

1 回答 1

0

看起来您在这里遇到了跨域问题。

如果服务器启用了 CORS 支持(有关更多信息,请参阅http://en.wikipedia.org/wiki/Cross-origin_resource_sharing ),则只能跨域执行 AJAX 请求,并且快速检查api.domainapi.com并不建议这样做. 如果您打开浏览器的控制台,您应该会收到一条错误消息。

为了解决这个问题,您需要在您自己的服务器上实现某种代理(因为它与您的网页在同一个域上运行,应该可以用作 AJAX '目标'),这反过来会将请求转发到api.domainapi.com.

于 2013-02-10T08:42:11.683 回答