У меня есть простая функция контроллера, как это:
<HttpPost>
Function SaveXML(payload As String) As Boolean
If payload IsNot Nothing AndAlso payload.Length > 0 Then
Return True
Else
Return False
End If
End Function
Что я звоню из JavaScript, как это:
function SaveXML() {
var payload = '<?xml version="1.0" encoding="utf-8"?><data>XML_GOES_HERE</data>';
// Calls controller correctly but data is null
$.ajax({
url: "/Data/SaveXML/",
type: "POST",
processData: false,
contentType: "text/xml",
data: payload
})
.done(function() { alert('Application saved.'); })
.fail(function() { alert('Application failed to save.'); });
}
Я используя пример на JQuery documentation в качестве базы с некоторыми советами от here, here и here. Я пробовал его с processData: false
и без него.
Когда вызов поступает в метод контроллера, полезная нагрузка равна null
. If I post a simple string using some very similar code everything works fine. Что конкретно нужно сделать для отправки XML в контроллер через $.ajax
? Находится ли в JavaScript или контроллере проблема?
Я пробовал, и это не работает. –
Я немного смущен, [в вашем другом вопросе] (http://stackoverflow.com/questions/26976402/using-ajax-or-post-to-call-mvc-5-controller-method), это появляется ответить и решить? –
Если вы еще раз проверьте, есть ли разница между этим и этим, хотя они используют очень похожий JavaScript. Здесь я спрашиваю, как отправить XML, тогда как другой вопрос отправляет только простую строку. –