Предыдущий скрипт, который вы используете, - это метод, используемый для выполнения API, но не подходящий для выполнения скрипта WIQL. Вот почему вы сталкиваетесь с этой ошибкой.
Выполнение WIQL
в Ajax
на самом деле запрос процесс: Отправьте оператор wiql
на сервер, к которому вы хотите получить доступзапросить выполнение оператора запроса (Wiql) и вернуть результат выполнения. Таким образом, это процесс запроса выполнения команды Post
. Но в вашем скрипте он не говорил серверу, какие инструкции необходимо выполнить.
Вот простой пример, который вы можете использовать для использования WIQL
с Ajax
:
<script type="text/javascript">
$(document).ready(function () {
$("#SelectWIT").on("click", function () {
var d = { "query": " Select [System.Id] from WorkItems Where [System.WorkItemType] = 'Bug' "};
$.ajax({
type: 'POST',
url: 'https://dev.azure.com/{org name}/{project name}/_apis/wit/wiql?api-version=1.0',
contentType: 'application/json',
data: JSON.stringify(d),
cache: false,
dataType: 'json',
beforeSend: function (xhr) {
xhr.setRequestHeader("Authorization", "Basic " + btoa("" + ":" + "{PAT token}"));
},
}).done(function (data) {
var items = [];
$.each(data.workItems, function (key, val) {
items.push("<li> <a href='" + val.url + "'>" + val.id + "</a></li>");
});
$("<ul/>", {
html: items.join("")
}).appendTo("body");
}).error(function (e) {
var s = "error error error";
});
})
});
</script>
Логика моего сценария состоит в том, чтобы запросить запуск API с оператором WIQL в качестве тела запроса, отправить этот запрос в проект, к которому я хочу получить доступ. Затем отобразите данные ответа с синтаксисом js
в теле страницы. Это вывод:
Так как я не уверен, какова ваша следующая операция. В этом скрипте вы можете заменить оператор Wiql и URL-адрес своим. Затем измените соответствующую функцию done для достижения того, чего вы хотите.