我尝试了几个小时,用查询提供我的用户名和密码。 我找到了不同的答案,如
$.ajax({
username: "user",
password: "password",
url: "http://de.wikipedia.org/wiki/S",
type: "GET",
dataType:'json',
success: function() {alert('blub');},
error: function(){alert('nein!');}, });
和
$.ajax({
url: "http://de.wikipedia.org/wiki/S",
success: function() {alert('blub');},
error: function(){alert('nein!');},
beforeSend: function(xhr){
xhr.setRequestHeader("Authorization", "Basic c2Nod1bm5zmRlbGbg0K")},
});
和
$('#test1').load('http://c2odWhbm5zmlbGpgOK@de.wikipedia.org/wiki/S');
还有几个,但它们都不起作用。 有人可以帮忙吗? 请!!!我绝望了!!!
也许我应该更具体。 如果我尝试打开文档,我会收到错误“”NetworkError:407需要代理身份验证 - http://de.wikipedia.org/wiki/S“” 所以我认为用户名和密码没有正确传递。
答案 0 :(得分:3)
您似乎违反了相同的原始政策:
由于浏览器安全限制,大多数“Ajax”请求都是主题 同源政策; 请求无法从其他域,子域或协议成功检索数据。 脚本和JSONP请求不受相同的源策略限制。
答案 1 :(得分:0)
要避免@jk提到的SOP,您可能需要服务器端脚本(在主机上)来加载外部URL并将数据返回到客户端脚本。
修改以添加评论。
我是.Net的人,所以我的PHP帮助将受到限制。我认为您可以使用CURL来使用PHP中的外部Web资源,我假设CURL可以在帖子上传递凭据。你的javascript必须发布到你的PHP文件,这将发布到维基百科并返回你需要的任何javascript。
答案 2 :(得分:0)
虽然我建议您对密码非常小心,不要将其存储在可公开访问的(html / js)文件中,但这是我的10美分。
对于这个维基百科网站,登录就是这样的:
POST事务发生在:
http://de.wikipedia.org/w/index.php?title=Spezial:Anmelden&action=submitlogin&type=login&returnto=S
发送以下参数:
希望能让你前进。