跨域AJAX POST / HTTPS /标头身份验证?

时间:2011-04-01 20:43:59

标签: javascript ajax jquery https

我必须提出问题:

1)我尝试过使用JsonP,但无法使POSTing工作。本质上,我正在尝试使用API​​进行身份验证,通过HTTPS在标头中传递Base64编码的namevaluepair。

2)如何在标题中传递此键/值?任何帮助,将不胜感激!这是我想要的一个例子,虽然这显然不起作用:

               // where does this go?
               var headerString = 'user=' + encodeURIComponent(username + ':' + password);
               $.ajax({
                    type: "POST",
                    url: "https://anotherurl.on.another.server/LOGIN",
                    data: "I have no data, I'm logging in with header authentication",
                    dataType: "json",
                    success: function(data) {

                    },
                    error: function(data){

                  }
                });

2 个答案:

答案 0 :(得分:1)

将标头添加到ajax调用:

var headerObj = {'user': encodeURIComponent(username + ':' + password)};
$.ajax({
     type: "GET",
     url: "https://anotherurl.on.another.server/LOGIN",
     data: "I have no data, I'm logging in with header authentication",
     dataType: "json",
     headers: headerObj,
     success: function(data) {

     },
     error: function(data){

   }
});

答案 1 :(得分:-1)

执行此操作的最佳方法可能是通过您自己域上的服务器端代理。 有关提示,请参阅this page

这样您就可以从其他服务器获取响应