Я создал наполовину работающий ajax-код, используя jQuery и JSON, но я не могу получить параметры данных из запроса POST, хотя я пытался отправить его несколькими различными способами (сначала как объект внутри data: {}
объекта, тогда как просто строка), но ничего не получалось. Вот код:
C #, ManageController.cs:
public ActionResult SubmitForm(string typeAction)
{
string message = (int.Parse(typeAction) * 20).ToString();//Exception: can't convert null string to int
return Json(new {Message = message, JsonRequestBehavior.AllowGet});
}
JavaScript (+ jQuery, конечно), AppScripts.js:
function AjaxPost(typeofAction, ActionUrl) {
$.ajax({
type: "POST",
url: ActionUrl,
data: { typeAction: JSON.stringify(typeofAction) },
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function () {
return true;
},
error: function (xhr, textStatus, errorThrown) {
console.error(textStatus + "\n" + errorThrown);
}
});
return false;
}
который вызвал с кнопки:
<button onclick="AjaxPost($('#SimpleActionId').value, '/manage/SubmitForm')">Go!</button>
для результатов вызывается действие IS, и я вижу, что отладчик выполняет его до тех пор, пока не будет сгенерировано исключение, поскольку не может преобразовать пустую строку в int. параметр даже не попадает в ActionResult SubmitForm
, но он вызывается, и все значения отправляются из данных.
спасибо.