javascript - 使用ajax/javascript登录jenkins

标签 javascript ajax jquery authentication jenkins

我想运行一个 Jenkis 作业,需要使用 ajax 从网页(jenkins 之外)登录 目前,我必须打开另一个浏览器选项卡并打开 jenkins(并经过身份验证)才能从我的网页运行该作业

iv'e尝试了不同的方法来使用ajax发送身份验证信息 这就是我目前拥有的:

$.ajax({                              
    type: "POST",
    url: "http://myjenkins/job/job_name/buildWithParameters",
    dataType: 'jsonp',
    data: $("#myForm").serialize(),
    beforeSend: function(xhr){
    xhr.setRequestHeader("Authorization", "username:password");
    },
    success: function(data) {
    },             
    complete: function(xhr, statusText){
    }                                                                 
});

(还有一些从表单接收参数的 HTML 代码) 如果我有一个经过 Jenkins 身份验证的打开选项卡,则运行正常,但如果没有,我会从 Jenkins 得到“430禁止”响应。

"xhr.setRequestHeader("授权", "用户名:密码");"这只是我最近的尝试...

欢迎任何意见!

最佳答案

这对我有用,非常感谢,只是为了扩展,它有效,因为根据 RFC 1945,授权 header 值应包含用户名:密码作为编码(base64)字符串,这将导致类似于以下 header 的内容:

授权:基本QWxhZGRpbjpvcGVuIHNlc2FtZQ==

示例:

beforeSend: function (xhr) {
xhr.setRequestHeader("Authorization", "Basic " + btoa("username:token"));
}

关于javascript - 使用ajax/javascript登录jenkins,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19154989/

相关文章:

python - Scrapy - 在shell和spider中处理ajax连续响应数据

javascript - 我的垂直内容 slider 有一个错误

javascript - 如何通过NodeJs中的_id从MongoDB中的集合中删除许多文档

javascript - 使用局部 View 将提交按钮移到 MVC 5 中的表单之外

c# - 如何反序列化包含多维数组的json对象?

java - 无法在 Ajax 和 qTip2 中显示 HTML servlet 的响应

javascript - 使用 JS 进行 Ajax 调用时,ajaxComplete 和 beforesend 有什么区别?

javascript - xwiki REST ajax调用错误

javascript - 如何在没有 jQuery 的情况下在 Javascript 中链接选择器

javascript - AngularJS - Controller 和工厂 - 我在包含/注入(inject)函数时哪里出错了?