Javascript 访问控制不允许原点允许原点

Javascript 访问控制不允许原点允许原点,javascript,html,ajax,Javascript,Html,Ajax,它似乎不起作用,但给了我 无法加载XMLHttpRequest。起源http://localhost:4448 访问控制允许原点不允许 我的朋友告诉我这是一个跨域ajax问题。但是我不知道如何使它工作…您可以通过在服务器上的网页标题中添加访问控制Allow Origin:*来实现这一点。如果您拥有服务器,但不是Google页面的一个选项,那么这很好,您需要以不同的方式检索数据,而不是直接通过AJAX。出于安全原因,使用XMLHttpRequest从不同的来源加载数据时需要头文件,包括协议、主机名

它似乎不起作用,但给了我

无法加载XMLHttpRequest。起源http://localhost:4448 访问控制允许原点不允许


我的朋友告诉我这是一个跨域ajax问题。但是我不知道如何使它工作…

您可以通过在服务器上的网页标题中添加访问控制Allow Origin:*来实现这一点。如果您拥有服务器,但不是Google页面的一个选项,那么这很好,您需要以不同的方式检索数据,而不是直接通过AJAX。

出于安全原因,使用XMLHttpRequest从不同的来源加载数据时需要头文件,包括协议、主机名和端口号

如果网站scholar.google.com是您的,您可以更改服务器端代码以发送该标题。但是,它是第三方网站,所以您不能这样做。缺少API等替代访问方法,只有一种方法可以绕过此限制

您需要在Web服务器上设置一个,可以用C、Perl、PHP、Python、Ruby或任何其他编程语言编写。从web浏览器的角度来看,jQuery将连接到您的服务器,而不是谷歌。从Google的角度来看,连接将来自您的服务器,而不是您的web浏览器

如果Web服务器可公开访问,则必须锁定代理脚本以防止滥用,例如黑客使用它攻击其他网站。然而,说到虐待,还有一个更紧迫的问题。谷歌可能会认为你的查询违反了他们的服务条款,并且他们可以在任何时候阻止你的访问。有一些方法可以避免被抓住,尽管它们不在你的问题范围之内

function getTotalResultsInfo(gAuthor, gOther) {
// Generate correct http request
var url_to_get = "http://scholar.google.com/scholar?as_q=" + gOther + "&num=" + ret_results + "&as_sauthors=" + gAuthor;

$.getJSON(url_to_get, function (data) {
    totalCount(data);
    document.getElementById("loading").style.display = "none";
});}