Я использую стандартный пример из документации Zendesk API:
$(document).ready(function () {
var subject = "Test ticket #ABC";
var body = "This is test ticket #ABC";
$.ajax({
url: 'https://tmstest.zendesk.com/api/v2/tickets.json',
contentType: 'application/json',
type: 'POST',
beforeSend: function (xhr) {
var auth = "Basic " + $.base64.encode("[email protected]/token:XXXX");
xhr.setRequestHeader("Authorization", auth);
},
data: JSON.stringify({ "ticket": { "subject": subject, "comment": { "body": body } } }),
error: function (jqXHR, textStatus, errorThrown) {
if (jqXHR.status == 500) {
alert('Internal error: ' + jqXHR.responseText);
} else {
alert('Unexpected error.');
}
}
})
.done(function (data) {
console.info(data.ticket);
})
;
});
он добавил билет, но вызывается часть ошибки. textStatus
имеет значение "ошибка", jqXHR.status
- 0, errorThrown
- пустая строка. Что не так?
errorThrown пуст
Это кажется маловероятным. Не могли бы вы обновить свой вопрос, чтобы он соответствовал тому, что у вас есть сейчас? И снова, есть ли другие ошибки в консоли вашего браузера, в том числе на вкладке Сеть?
Что показывает консоль браузера? Он должен, по крайней мере, указывать код ответа, и оттуда вы можете выяснить, проблема ли это в полезной нагрузке, проблема с авторизацией или разрешениями, ошибка с сервером и т. д.
Если запрос инициируется извне домена Zendesk, вы должны использовать аутентификацию на основе Oauth для клиентских запросов. Подробнее см. Здесь - https://developer.zendesk.com/rest_api/docs/support/introduction#security-and-authentication
что вкладка сети в консоли браузера возвращает в качестве кода ответа?
А как насчет
errorThrown
? Это не просто так, вы должны посмотреть на него, например,console.error(textStatus, errorThrown)
. Есть ли другие ошибки в консоли вашего браузера?