0
我知道這方面已經有很多問題了。我看了他們大部分。服務器必須返回帶有所述標題的響應,從而允許我的源對其做出請求。在某些情況下,沒有「訪問控制 - 允許來源」標頭錯誤,但在其他情況下不存在
但是,有一些我不明白。我正在創建一個簡單的Stash插件,當點擊一個按鈕時發出發佈請求。
我有這個錯誤。好。但是,爲什麼要求發佈工作?該職位是發起一個構建和構建啓動。我仍然有錯誤,所以在客戶端,我顯示一條消息說,構建未啓動...
即使是陌生人,我有一個同事做了一個簡單的Chrome擴展做同樣的事情和錯誤沒有顯示在瀏覽器控制檯中...
我想了解爲什麼我的失敗和他的成功。
我的藏匿插件javascript代碼:
require(['jquery', 'stash/api/util/state'], function ($, pageState) {
var url = "https://build.company.org:8443/trigger";
var commit = pageState.getCommit();
var repo = pageState.getRepository()
$.post(
url,
{
'code': '9b73fccb6c839d',
'workflow.repourl': 'ssh://[email protected]:7999/' + repo.project.key + "/" + repo.name,
'workflow.reponame': repo.project.key + "/" + repo.name,
'workflow.revision': commit.id,
'workflow.user': commit.author.name,
'workflow.message': commit.message
},
function (data) {
AJS.messages.success("#launch-build-message", {
fadeout: true,
delay: 5000,
title: "Success!",
body: "The build was<br>successfully launched!"
});
}
).fail(function() {
AJS.messages.error("#launch-build-message", {
fadeout: true,
delay: 5000,
title: "Error!",
body: "The build could not<br>be launched!"
});
});
});
他的Chrome擴展的javascript:
var build_status_div = $('div.build-status-summary');
var rebuild_div = $('<div class="plugin-item"></div>').insertAfter(build_status_div);
var rebuild_a = rebuild_div.append('<a href=""><span class="aui-icon aui-icon-small aui-iconfont-build" title="Launch another build"></span><span class="label">Launch another build</span></a>');
var success_div = $('<div class="plugin-item build-result build-success"><span>Build started !</span></div>').insertAfter(rebuild_div);
var failure_div = $('<div class="plugin-item build-result build-failure"><span>Could not start the build.</span></div>').insertAfter(success_div);
success_div.hide();
failure_div.hide();
rebuild_a.click(function(ev) {
ev.preventDefault();
$.post(
'https://build.company.org:8443/trigger',
{
'code': '9b73fccb6c839d',
'property:workflow.repourl': 'ssh://[email protected]:7999/Project_1/Rep_1,
'property:workflow.reponame': 'Project_1/Rep_1,
'property:workflow.revision': 'dbc5de00a675996df25cebb6c3cce7fad39247b9',
'workflow.user': 'Some User',
'workflow.message': 'test'
},
function (data) {
success_div.fadeIn().delay(5000).fadeOut();
}
).fail(function() {
failure_div.fadeIn().delay(5000).fadeOut();
});
});
擴展通過與通過網頁傳遞的代碼不同的規則進行播放。 – Pointy 2014-12-03 20:24:37