我需要打电话给网站说xyx.com。
它有一个通常的身份验证,我已经在jquery中实现了它。
说
return $.getJSON('xyx.com/restapi/login?userid=aaa&pass=qqq'+"&xslt=json.xsl&
callback=?",function(jsonResult)
{
if(jsonResult.response.status == 'success')
{
...
...
}
},"jsonp");
以上工作正常。
现在HT Access已提供给上述网站xyx.com
我替换了上面getJSON中使用的URL,如下所示
http://msf:sks1l*@xyx.com/restapi/login?userid=aaa&pass=qqq
其中msf和sks11 *是HT Access凭证。
以上在FF中工作正常但在IE中没有。
任何可能的解决方案或解决方法。
答案 0 :(得分:2)
$.getJSON()
只是特定类型$.ajax()
来电的简写。 jQuery文档显示了详细信息:http://api.jquery.com/jQuery.getJSON/。 $.getJSON
相当于:
$.ajax({
url: url,
dataType: 'json',
data: data,
success: callback
});
查看http://api.jquery.com/jQuery.ajax/处的$.ajax()
文档,它说:
如果服务器在提供之前执行HTTP身份验证 响应,用户名和密码对可以通过用户名发送 和密码选项。
所以只需使用$.ajax()
表单并传递用户名和密码,如下所示:
$.ajax({
url: "http://xyx.com/restapi/login?userid=aaa&pass=qqq",
dataType: 'json',
success: function(jsonResult) {
/* your success code */
},
username: 'msf',
password: ':sks1l*@'
});