【发布时间】:2019-12-04 15:27:35
【问题描述】:
我正在使用 DevOps restapi 来获取一些信息。
POST 方法对我来说很好用。
我想更新我的工作项的状态。为此,我需要使用 PATCH 方法。哪个不起作用,也没有给出任何错误。
function postApiData(ApiUrl, responseBody) {
var res = '';
try {
$.ajax({
type: 'POST',
async: false,
url: ApiUrl,
contentType: 'application/json',
data: JSON.stringify(responseBody),
cache: false,
dataType: 'json',
beforeSend: function (xhr) {
xhr.setRequestHeader("Authorization", "Basic " + btoa("" + ":" + _token));
},
}).done(function (data) {
res = data;
}).fail(function (e) {
});
} catch (error) {
var x = error;
throw x;
}
return res;
};
对于补丁方法,我正在修改一些东西。但不更新我的工作项并没有给出任何错误。我还检查了我的令牌访问权限。我有完全访问权限。
type: 'PATCH',
contentType: 'application/json-patch+json',
【问题讨论】:
-
我猜他们在 Azure DevOps 文档中混淆了很多方法。在这里,您还可以看到 create call with a PUT 和 Update call with a POST。我认为您通常可以执行以下操作: Create = POST 和 Update = PUT
-
我用 post 方法尝试过同样的事情,但它没有更新。
-
您可以在 PATCH 中发布您发送的正文吗?
-
@JigarParekh,您可以使用 Fiddler 捕获错误。它可以告诉你为什么它没有成功更新工作项。另外,在 Fiddler 的帮助下,我编写了一个简单的示例,现在可以成功了。你可以试试看。
标签: javascript ajax azure-devops azure-devops-rest-api http-patch