잘못된 형식 또는 맞춤법을 사용하지 못해 죄송합니다. 나는이 게시물을 서둘러 writting 오전. :)Json 데이터를 MVC 컨트롤러에 전달 - 액션 메서드의 JObject 매개 변수
간단한 컨트롤러 (MVC 컨트롤러)의 동작 방식에 json 데이터를 전달하고 있습니다. 다음은 참조 용 샘플 코드입니다.
JS 코드 :
var에 JSON = {IsInit : 사실, SearchParam : {유형 : "XX"이름 : "XX"정렬 ""}};
Nx$(document).ready(function() {
Nx$.ajax({
async: true,
contentType: "application/json; charset=utf-8",
type: "POST",
url: "Home/Data",
dataType: "json",
data: JSON.stringify(json),
success: function (msg) {
alert('success');
},
error: function (jqxhr, textStatus, error) {
alert('fail');
}
});
작업 방법 :
<HttpPost>
<Route("Data")>
Function GetData(ByVal IsInit As Boolean, ByVal SearchParam As Newtonsoft.Json.Linq.JObject) As ActionResult
Return Nothing
End Function
이제, 액션 위의 모든 호출하지 않습니다. 하지만 아래 코드를 사용하면 호출이되지만 SearchParam은 [object] 유형이므로 searchParam 객체의 값을 사용할 수 없습니다.
<HttpPost>
<Route("Data")>
Public Function GetData(ByVal IsInit As Boolean, ByVal SearchParam As Object) As Object
Return Nothing
End Function
복잡한 json 개체의 POST 요청에서 여러 매개 변수를 전달할 수 없다고 생각합니다.
JSON 데이터를 MVC 컨트롤러의 동작 메서드에 전달하여 SearchParam Json 데이터가 JObject로 변환되도록하는 방법은 무엇입니까? 초기의 제 1 액션 메소드 서명은 주요한 메소드 서명 변경없이 사용되어야한다.
거의 관측 : 나 API 제어기 API로서 동작 방법 이상으로하면
; 그것은 일을 시작하지만 아래의 메소드 서명을 따라야한다고 말하고 있습니다. 아래의 접근 방식은 MVC 컨트롤러에서 작동하지 않습니다. 이유를 모른다? 그러나, 어떤 이유로; API 컨트롤러를 사용할 수 없습니다.
<HttpPost> <Route("Data")> Function GetData(ByVal req As Newtonsoft.Json.Linq.JObject) As ActionResult Return Nothing End Function
감사합니다!
데이터 : JSON.stringify (json), 데이터를 문자열로 변환 중입니다. 나는 아약스 매개 변수 –