【问题标题】:HT Access in IE using java script or jquery使用 javascript 或 jquery 在 IE 中的 HTAccess
【发布时间】:2012-02-22 05:20:23
【问题描述】:

我需要调用一个网站,比如 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");

以上工作正常。

以上网站xyx.com现在提供HT Access

我将上面getJSON中使用的URL替换为如下

http://msf:sks1l*@xyx.com/restapi/login?userid=aaa&pass=qqq

其中 msf 和 sks11* 是 HT 访问凭据。

上述方法在 FF 中运行良好,但在 IE 中不行。

任何可能的解决方案或变通方法。

【问题讨论】:

    标签: javascript jquery internet-explorer .htaccess


    【解决方案1】:

    $.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() 文档,它说:

    如果服务器在提供一个 响应,用户名和密码对可以通过用户名发送 和密码选项。

    所以只需使用$.ajax() 表单并传递用户名和密码,如下所示:

    $.ajax({
      url: "http://xyx.com/restapi/login?userid=aaa&pass=qqq",
      dataType: 'json',
      success: function(jsonResult) {
          /* your success code */
      },
      username: 'msf',
      password: ':sks1l*@'
    });
    

    【讨论】:

    • 太好了。谢谢本,我会试试的。
    • 这在 Firefox 中完美运行。但在 IE 中失败。正如我在问题中提到的,URL“msf:sks1l*@xyx.com/restapi/login?userid=aaa&pass=qqq”在 FF 中有效,但在 IE 中无效。我认为 IE 没有选择 HT Access 用户名和密码,它会抛出一个对话框来提供 HT Access 用户名和密码。
    • 在 Firefox 中也不起作用。出现以下错误“NetworkError: 401 Authorization Required - http:\\msft.com/restapi/vc/authentication/sessions/login?user.login=admin&user.password=come01&xslt=json.xsl&callback=jQuery17103062594674032523_1327929663010&_=1327929689677”后跟一个对话框框以提供 HT 凭据。
    猜你喜欢
    • 2012-09-09
    • 2017-11-21
    • 1970-01-01
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-31
    • 1970-01-01
    相关资源
    最近更新 更多