[JQUERY] POST (AJAX) JSON 통해 데이터를 전송 및 JSON 제어기로부터 응답을 수신 (MVC)
JQUERYPOST (AJAX) JSON 통해 데이터를 전송 및 JSON 제어기로부터 응답을 수신 (MVC)
해결법
-
1.
public class Person { public string Name { get; set; } public string Address { get; set; } public string Phone { get; set; } }
public ActionResult PersonTest() { return View(); } [HttpPost] public ActionResult PersonSubmit(Vh.Web.Models.Person person) { System.Threading.Thread.Sleep(2000); /*simulating slow connection*/ /*Do something with object person*/ return Json(new {msg="Successfully added "+person.Name }); }
<script type="text/javascript"> function send() { var person = { name: $("#id-name").val(), address:$("#id-address").val(), phone:$("#id-phone").val() } $('#target').html('sending..'); $.ajax({ url: '/test/PersonSubmit', type: 'post', dataType: 'json', contentType: 'application/json', success: function (data) { $('#target').html(data.msg); }, data: JSON.stringify(person) }); } </script>
-
2.
var SendInfo= { SendInfo: [... your elements ...]}; $.ajax({ type: 'post', url: 'Your-URI', data: JSON.stringify(SendInfo), contentType: "application/json; charset=utf-8", traditional: true, success: function (data) { ... } });
및 행동
public ActionResult AddDomain(IEnumerable<PersonSheets> SendInfo){ ...
이 같은 배열을 바인딩 할 수 있습니다
var SendInfo = []; $(this).parents('table').find('input:checked').each(function () { var domain = { name: $("#id-manuf-name").val(), address: $("#id-manuf-address").val(), phone: $("#id-manuf-phone").val(), } SendInfo.push(domain); });
이 당신을 도울 수 있기를 바랍니다.
-
3.사용 JSON.stringify (<데이터>).
사용 JSON.stringify (<데이터>).
데이터 : 코드를 변경 sendInfo를 데이터 : JSON.stringify (sendInfo). 이 당신을 도울 수 있기를 바랍니다.
-
4.JSON을 게시하려면, 당신은 그것을 캐릭터 라인 화해야합니다. JSON.stringify와 false로 processData 옵션을 설정합니다.
JSON을 게시하려면, 당신은 그것을 캐릭터 라인 화해야합니다. JSON.stringify와 false로 processData 옵션을 설정합니다.
$.ajax({ url: url, type: "POST", data: JSON.stringify(data), processData: false, contentType: "application/json; charset=UTF-8", complete: callback });
-
5.modelbinding 실패 귀하의 PersonSheets는, ID, ID가 포스트에없는 속성 INT 있습니다. (? INT) 아이디 널 (NULL)를 확인하거나 게시물 아이디 = 0이어야 보냅니다.
modelbinding 실패 귀하의 PersonSheets는, ID, ID가 포스트에없는 속성 INT 있습니다. (? INT) 아이디 널 (NULL)를 확인하거나 게시물 아이디 = 0이어야 보냅니다.
-
6.당신은 $ .toJSON를 호출하고 전통적인 = true를 추가 할 필요가 없습니다
당신은 $ .toJSON를 호출하고 전통적인 = true를 추가 할 필요가 없습니다
data: { sendInfo: array }, traditional: true
할것이다.
from https://stackoverflow.com/questions/8517071/send-json-data-via-post-ajax-and-receive-json-response-from-controller-mvc by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 런타임에 jQuery를 가진 CSS 규칙 / 클래스 만들기 (0) | 2020.10.14 |
---|---|
[JQUERY] 800 픽셀을 한 후 스크롤 아래에 DIV보기 (0) | 2020.10.14 |
[JQUERY] DIV가 넘쳐 요소가있는 경우 jQuery로 확인 (0) | 2020.10.14 |
[JQUERY] CORS POST 요청을 jQuery를 함께 일반 자바 스크립트에서 작동하지만, 왜? (0) | 2020.10.14 |
[JQUERY] 자바 스크립트 / jQuery를 사용하여 Excel로 내보내기 HTML 테이블 데이터는 크롬 브라우저에서 제대로 작동하지 않습니다 (0) | 2020.10.14 |