반응형
JsonResult에 JavaScript 문자열 어레이의 AJAX 게시물이 항상 Null을 반환 합니까?
JavaScript에서 문자열 배열을 구축하여 액션 메서드의 문자열 목록으로 결과를 가져오려고 합니다.다음은 내 JavaScript의 모습입니다.jQuery 1.4.2를 사용하고 있습니다.문제는 액션 메서드의 리스트가 항상 NULL로 표시되어 있다는 것입니다.JavaScript 문자열 배열이 C#의 문자열 목록에 올바르게 매핑되지 않습니까?
var test = ['test1', 'test2'];
var parms = {
var1: 'some string',
var2: test
};
$.ajax({
type: "POST",
url: "/Test/JSONTestAction",
async: false,
data: parms,
dataType: "json",
success: function(data) {
// success
}
});
그러면 Json Result는 다음과 같습니다.
public JsonResult JSONTestAction(string var1, List <string> var2) {
// var2 is always NULL -- not good
return Json(new {
test = "test"
});
}
jquery 1.4.2로 업데이트한 후에도 같은 문제가 발생하였습니다.솔루션은 여기에서 찾을 수 있습니다(Ajax 섹션).
ajax 옵션에서 true를 추가하면 됩니다.
$.ajax({
type: "POST",
traditional: true,
url: "/Test/JSONTestAction",
async: false,
data: parms,
dataType: "json",
success: function(data) {
// success
}
});
이 변경은 PHP/Rails 사용자의 네이티브 동작을 개선하기 위한 것입니다. 여기서 파라미터 변경에 대해 자세히 알아볼 수 있습니다.
다음과 같이 요청별로 활성화할 수 있습니다.
$.ajax({
//Stuff...
traditional:true
});
또는 다음과 같이 글로벌하게 실행할 수 있습니다(요구를 실행하기 전에 한 번만 실행할 필요가 있습니다.
jQuery.ajaxSettings.traditional = true;
언급URL : https://stackoverflow.com/questions/2515773/ajax-post-of-javascript-string-array-to-jsonresult-as-liststring-always-return
반응형
'programing' 카테고리의 다른 글
| MongoDB에서의 데이터 버전 관리 구현 방법 (0) | 2023.03.22 |
|---|---|
| jquery::ajaxStop() 대 jquery:ajaxComplete() (0) | 2023.03.22 |
| json_decode는 JSON_ERROR_SYNTAX를 반환하지만 온라인 포메터는 JSON이 정상이라고 말합니다. (0) | 2023.03.22 |
| 어떤 JSON 콘텐츠유형을 사용할까요? (0) | 2023.03.22 |
| react.display의 하위 구성요소를 재귀적으로 렌더링하는 방법 (0) | 2023.03.14 |