Я использовал следующий jQuery для вставки данных через Услугу передачи данных. Событие, хотя я получил ответ состояния 201 и данные, успешно вставляется в мою базу данных, система все еще рассматривают его как ошибку, и дает мне "отказавшее" предупреждение?
Что я пропускаю здесь?
$.ajax({
type: "POST",
url: "http://localhost:49223/Form/WebDataService.svc/XMLForm(guid'1eaef3a0-d6df-45bf-a8f6-3e7292c0d77e')/XMLRecord/",
data: JSON.stringify(record),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function() {
alert("Success");
},
error: function(xhr) {
alert("fail");
}
});
ОБНОВЛЕНИЕ:
Сообщение отладки от ошибки огня:
Preferences
POST http://localhost:49223/Form/WebDataService.svc/X...ef3a0-d6df-45bf-a8f6-3e7292c0d77e%27)/XMLRecord/
POST http://localhost:49223/Form/WebDataService.svc/XMLForm(guid%271eaef3a0-d6df-45bf-a8f6-3e7292c0d77e%27)/XMLRecord/
jquery....min.js (line 127)
POST http://localhost:49223/Form/WebDataService.svc/X...ef3a0-d6df-45bf-a8f6-3e7292c0d77e%27)/XMLRecord/
POST http://localhost:49223/Form/WebDataService.svc/XMLForm(guid%271eaef3a0-d6df-45bf-a8f6-3e7292c0d77e%27)/XMLRecord/
201 Created 6.7s
POST http://localhost:49223/Form/WebDataService.svc/X...ef3a0-d6df-45bf-a8f6-3e7292c0d77e%27)/XMLRecord/
POST http://localhost:49223/Form/WebDataService.svc/XMLForm(guid%271eaef3a0-d6df-45bf-a8f6-3e7292c0d77e%27)/XMLRecord/
201 Created
get readyState 4
get responseText "{ "d" : {\r\n"__metadata"...\')/XMLForm"\r\n}\r\n}\r\n} }"
get responseXML null
get status 201
get statusText "Created"
Решение:
хотя я все еще не могу понять, как я получаю ошибку из предыдущего кода, у меня есть это альтернативное решение, которое работает для меня. (по крайней мере на данный момент).
хотел бы услышать больше идей
всем спасибо
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
url: "http://localhost:49223/Form/WebDataService.svc/XMLForm(guid'1eaef3a0-d6df-45bf-a8f6-3e7292c0d77e')/XMLRecord/",
data: JSON.stringify(record),
complete: function(xhr) {
if (xhr.readyState == 4) {
if (xhr.status == 201) {
alert("Created");
}
} else {
alert("NoGood");
}
}
//
// success: function(data) {
// alert("Success");
// },
// error: function(xhr) {
// alert("fail" + xhr);
// }
});
Со мной это случилось раньше. Моя проблема была в том, что я не включил расширение '.json' в конец строки запроса, поэтому я получал XML. jQuery подавился при попытке разобрать xml как json, что привело к вызову обработчика ошибок.