微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用jquery和ajax发送授权标头

我已经在stackoverflow上查看了以下问题,但我没有尝试做什么.

Ajax Authorization Request headers fails again and again

jQuery Ajax Unauthorized 401 Error

Sending credentials with cross-domain posts?

这是我目前拥有的代码
    

    $(document).ready(function() {
        $.ajax({
            url: 'http://sample.domain.com/script.PHP?name1=value1&jsonp=?',type: 'GET',dataType: 'json',contentType: "application/json",beforeSend: function(xhr) {
                 xhr.setRequestHeader("Authentication","Basic ZnJvbWFwcGx********uOnRoM24zcmQ1UmgzcjM=") //Some characters have been replaced for security but this is a true BASE64 of "username:password"
            },success: function(data){
                alert(data);
            }
        });
    });


我拥有的子域名受.htpasswd文件的密码保护.使用base64编码中使用的用户名/密码组合,网站的登录对我来说很好.

我在不同的域上运行此脚本而不是url所在的域,这就是为什么我有jsonp =?在网址中

从浏览器中的控制台获取的响应是:
    获取http://sample.domain.com/script.PHP?name1=value1\u0026amp;jsonp=jsonp1334177732136 401(需要授权)

最佳答案
JSONP使用脚本标记代理.它不支持自定义标头.你控制了端点吗?如果是这样,请查看启用CORS,或在GET字符串中传递身份验证密钥.

使用jsonp时,JQuery会将您的URL“ajax”请求转换为:


                                

原文地址:https://www.jb51.cc/jquery/428600.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐