我希望使用CORS从pastebin加载代码片段,然后在浏览器中处理它们。
正在进行的一些代码在这里: http://www.boisvert.me.uk/opendata/sparql_aq+.html
代码突出显示,并且有运行它的选项等。
我想提供一个简单的服务,用户将文本保存在公共场所,然后查询:
http://www.boisvert.me.uk/opendata/sparql_aq+.html?sparqlURL=whatever-url
例如,URL为:
http://pastebin.com/raw.php?i=grUU9zwE
但是当使用CORS时,存储库返回一个空文件。 CORS是否被某些系统阻止(例如,通过pastebin.com?)或我做错了什么?
我附加了来自firefox调试器的图像,显示,除非我遗漏了这一点,CORS返回了空白响应,如果有帮助,则显示GET标题。
最后,我的CORS代码:
function CORSRequest(url) {
var xhr = new XMLHttpRequest();
if ("withCredentials" in xhr) {
// Check if the XMLHttpRequest object has a "withCredentials" property.
// "withCredentials" only exists on XMLHTTPRequest2 objects.
xhr.open("GET", url, true);
} else if (typeof XDomainRequest != "undefined") {
// Otherwise, check if XDomainRequest.
// XDomainRequest only exists in IE, and is IE's way of making CORS requests.
xhr = new XDomainRequest();
xhr.open("GET", url);
} else {
// Otherwise, CORS is not supported by the browser.
throw new Error('CORS not supported');
}
if (xhr) {
xhr.onload = function() {
// process the response.
document.getElementById("sparql").value = xhr.responseText;
};
xhr.onerror = function() {
alert('Not loading.');
};
}
xhr.send();
}
答案 0 :(得分:4)
要使其从客户端运行,您可以使用cors.io之类的CORS代理,也可以编写自己的代理。
在使用 cors.io 的情况下,您可以像这样在服务的网址之前添加
。 https://cors.io/?http://pastebin.com/raw.php?i=grUU9zwE
答案 1 :(得分:1)
购买Pastebin Pro帐户后,可以通过CORS(使用原始链接)自动公开检索您的帐户粘贴