javascript - cURL 到 jQuery AJAX 的转换

标签 javascript jquery ajax curl converters

我为此绞尽脑汁,似乎无法找到解决方案,所以请虚心寻求您的帮助。我在 chrome 上使用 reSTLet 客户端,它使用 cURL 命令从服务器获取 json。我需要将此 curl 命令转换为 AJAX,并且我将提供尽可能多的代码。你能帮我把它转换成 jQuery 的 Ajax 吗?

cURL Command: 

curl -i -L -X GET \
   -H "Authorization:Basic base64username:base64password" \
 'https://internalserverurl'

这是我的 jQuery AJAX 方法:

function make_base_auth(user, password) {
            var tok = user + ':' + password;
            var hash = Base64.encode(tok);
            return "Basic " + hash;
        }

        function getData() {
            $.ajax({
                url: "https://internalurl",
                beforeSend: function(xhr) { 
                  xhr.setRequestHeader("Authorization", "Basic " + btoa("username:password")); 
                },
                type: 'GET',
                dataType: 'json',
                contentType: 'application/json',
                processData: false,
                success: function (data) {
                  alert(JSON.stringify(data));
                    console.log(data);
                },
                error: function (data) {
                    var strBuilder = [];
                    for(key in data){
                          if (data.hasOwnProperty(key)) {
                             strBuilder.push(key + ":" + data[key] + "<br><br>");
                        }
                    }
                    alert(strBuilder.join(""));
                      $('#errordiv').html(strBuilder);
                }
            });
        }

谢谢大家的帮助。

最佳答案

我在评论中说过,但您可以使用 $.ajax 函数并在 beforeSend block 中设置标题。

    $.ajax({
      url: 'https://internalserverurl',
      type: 'GET',
      dataType: 'json',
      success: function() { alert('hello!'); },
      error: function() { alert('boo!'); },
      beforeSend: setHeader
    });
  });

  function setHeader(xhr) {
    xhr.setRequestHeader('Authorization':'Basic base64username:base64password');

  }

关于javascript - cURL 到 jQuery AJAX 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44310839/

相关文章:

javascript - Rxjs 与 Lodash 对比? rxjs 可以替代 lodash 吗?

javascript - 如何获取特定时区的一天开始日期

javascript - 什么时候 react 组件不是纯组件?

jquery - 我无法使用jquery获取css属性的值

jquery - 我可以暂时禁用处理程序吗?

javascript - 如何防止 AJAX 调用中的 JSONP 解析?

ajax - Rails 渲染 JSON - session 丢失?

javascript - jquery removeAttr ('class' ) 仍然保留类的元素

javascript - 多个 html 元素针对单个 js 事件

jquery - 无需刷新即可更改网页内容