Javascript 如何使用Ajax访问Jenkins
我正在尝试创建一个脚本(使用Javascript和JQuery)来从Jenkins检索一些信息。特别是,我试图让它访问构建的api(构建的URL+“api/json”),然后获取一些相关信息。 我在获取URL的内容时遇到问题,我认为这是身份验证的问题,因为我可以使用json内容访问其他公共网站 这就是我现在拥有的:Javascript 如何使用Ajax访问Jenkins,javascript,jquery,json,ajax,jenkins,Javascript,Jquery,Json,Ajax,Jenkins,我正在尝试创建一个脚本(使用Javascript和JQuery)来从Jenkins检索一些信息。特别是,我试图让它访问构建的api(构建的URL+“api/json”),然后获取一些相关信息。 我在获取URL的内容时遇到问题,我认为这是身份验证的问题,因为我可以使用json内容访问其他公共网站 这就是我现在拥有的: $.ajax ({ type: "GET", beforeSend: function (xhr) { xhr.set
$.ajax
({
type: "GET",
beforeSend: function (xhr) {
xhr.setRequestHeader ("Authorization", "Basic " + btoa(username + ":" + password));
},
url: myurlapi,
dataType: 'json',
async: false,
success: function (data) {
// what i'm going to do
}
})
任何帮助都将不胜感激,我已经在这上面呆了一段时间了
谢谢
编辑:
尝试执行此操作时,出现以下错误:
“错误:NetworkError:未能在'XMLHttpRequest'上执行'send':未能加载'url'我正在尝试访问'。”'$.ajax({url:'http:///jenkins/job/BuildProvision/buildWithParameters?token=,&delay=0&HOSTNAME=\“'+HOSTNAME+'\“&HOSTIP=\“'+HOSTIP+'\“&USER=\“'+USER+'\“&PASS=\“'+PASS+'\“&RELEASE=\“'+RELEASE+'\“&BUILD=\'+BUILD+'\'”,
方法:“POST”,
数据类型:“json”,
跨域:是的,
contentType:'application/json',
发送前:函数(xhr){
xhr.withCredentials=true;
setRequestHeader('Authorization','Basic');
},
成功:函数(数据){'
您收到的响应/错误是什么?@Sasang我收到以下错误:“错误:NetworkError:未能对“XMLHttpRequest”执行“发送”:未能加载“我试图访问的URL”“。这可能是一个跨域问题,您的服务器上是否启用了CORS?请尝试curlmyurlapi
和post输出。当您将URL粘贴到浏览器中时会发生什么?是否可以从执行Ajax请求的机器访问Jenkins机器?
'$.ajax({ url: 'http://<hosturl>/jenkins/job/BuildProvision/buildWithParameters?token=<jenkins-token>,&delay=0&HOSTNAME=\"'+hostname+'\"&HOSTIP=\"'+hostip+'\"&USER=\"'+user+'\"&PASS=\"'+pass+'\"&RELEASE=\"'+release+'\"&BUILD=\"'+build+'\"',
method: 'POST',
dataType: 'json',
crossDomain: true,
contentType:'application/json',
beforeSend: function(xhr){
xhr.withCredentials = true;
xhr.setRequestHeader('Authorization','Basic <your user token>');
},
success: function(data){'