使用ajax/javascript登录到jenkins
我想运行一个Jenkis作业,它需要使用ajax从网页(jenkins之外)登录 目前,我必须打开jenkins的另一个浏览器选项卡(并通过身份验证),以便从我的网页运行作业 iv'e尝试了使用ajax发送身份验证信息的不同方法 这就是我目前拥有的:使用ajax/javascript登录到jenkins,javascript,ajax,jquery,authentication,jenkins,Javascript,Ajax,Jquery,Authentication,Jenkins,我想运行一个Jenkis作业,它需要使用ajax从网页(jenkins之外)登录 目前,我必须打开jenkins的另一个浏览器选项卡(并通过身份验证),以便从我的网页运行作业 iv'e尝试了使用ajax发送身份验证信息的不同方法 这就是我目前拥有的: $.ajax({ type: "POST", url: "http://myjenkins/job/job_name/buildWithParameters", d
$.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代码从表单接收参数)
如果我和詹金斯有一个开放的标签,这运行正常,但如果我没有,我会得到詹金斯的“430禁止”回复
“xhr.setRequestHeader(“授权”、“用户名:密码”);”只是我最近的一次尝试
欢迎任何意见
beforeSend: function (xhr) {
xhr.withCredentials = true;
data: $("[name='parameters']").serialize()
xhr.setRequestHeader("Authorization", "Basic " + btoa("test:d8db6ae61f03219c52042638488e9744"));
},
对我有效这对我有效,非常感谢,只是为了扩展,它有效,因为根据RFC 1945,授权标头值应包含username:password As encoded(base64)字符串,这将导致类似以下标头的内容: 授权:基本QWXHZGRPBJPCGVUIHNLC2FTZQ== 例如:
beforeSend: function (xhr) {
xhr.setRequestHeader("Authorization", "Basic " + btoa("username:token"));
}
xhr.setRequestHeader('Authorization',make_base_auth(user,password));--from——我不知道它是否有用,因为我从未使用过ajax不幸的是,我已经试过了,似乎不起作用。。。谢谢你的意见。也许你可以详细解释一下为什么这对你有用?