я борюсь Жека размещения XML необработанных данных в мой контроллер WebAPI, переданное значение всегда нуль на стороне контроллера ....Отправка XML необработанные данные всегда нулевой
Вот мой код:
Запрос
Query.support.cors = true;
$.ajax({
type: "POST",
url: axForm.EndPoint + "api/items/PostXmlData",
contentType: "application/xml",
data: {xmlData: axForm.QvXmlForm},
async: false,
success: function (response) {
$('#tab1').append(response);
},
error: function (xhr, ajaxOptions, thrownError) {
//alert(xhr.responseText);
}
});
}
метод WebAPI
[ActionName("PostXmlData")] [System.Web.Http.AcceptVerbs("POST")] [System.Web.Http.HttpPost] public IHttpActionResult PostXmlData([FromBody]string xmlData) { ... }
Переданные данные XML:
Попробуйте это, я не отправляю его в качестве ответа, так как я не пробовал это сам. 'public IHttpActionResult PostXmlData() { string xml =" "; if (Request.InputStream! = Null) { var stream = new StreamReader (Request.InputStream); var xml = stream.ReadToEnd(); // xml может быть закодирован, декодировать его перед использованием. } } ' – din
Есть ли причина, по которой вы хотите« xmlData »как строку, а не де-сериализованный объект? Работа с объектами с сильными типами намного проще, чем использование строк. – BMac