>  기사  >  웹 프론트엔드  >  배열 매개변수 값을 서버에 전달하는 Ajax에 대한 자세한 설명

배열 매개변수 값을 서버에 전달하는 Ajax에 대한 자세한 설명

小云云
小云云원래의
2017-12-29 11:24:294109검색

MVC를 사용하다 보면 서버에 POST 요청을 보낼 때 배열을 매개변수 값으로 전달해야 하는 경우가 있습니다. 다음은 배열 매개변수 값을 서버에 전달하는 jQuery Ajax의 방법을 소개하는 예제 코드입니다. 한 번 살펴보겠습니다. 도움이 되길 바랍니다.

다음 예는 설명을 위해 사용됩니다. 먼저 Action


[HttpPost]
public ActionResult Test(List<string> model)
{
 return Json(null, JsonRequestBehavior.AllowGet);
}

메서드 1을 살펴보고 양식 요소를 구성한 다음 serialize() 메서드를 호출하여 구성 매개변수 문자열


@{
 Layout = null;
}
<!DOCTYPE html>
<html>
<head>
 <meta name="viewport" content="width=device-width" />
 <title>Test</title>
</head>
<body>
 <p>
  <input type="button" id="btnAjax" value="发送请求" />
 </p>
 <script src="~/Scripts/jquery-1.10.2.min.js"></script>
 <script type="text/javascript">
  var tmp = &#39;<input type="hidden" name="model" value="1" /><input type="hidden" name="model" value="2" />&#39;;
  $(function () {
   $("#btnAjax").click(function () {
    $.ajax({
     url: &#39;@Url.Action("Test")&#39;,
     type: &#39;POST&#39;,
     data: $(tmp).serialize(),
     success: function (json) {
      console.log(json);
     }
    });
   });
  });
 </script>
</body>
</html>

디버그 모드를 가져옵니다. 모니터링 매개변수, 버튼 클릭 시 모니터링되는 매개변수는 다음과 같습니다

방법 2: JavaScript 개체를 매개변수로 사용하여 값을 전달합니다. 매개변수 이름은 Action 메서드에 해당하는 매개변수 이름이고, 매개변수 값은 JavaScript 배열입니다


@{
 Layout = null;
}
<!DOCTYPE html>
<html>
<head>
 <meta name="viewport" content="width=device-width" />
 <title>Test</title>
</head>
<body>
 <p>
  <input type="button" id="btnAjax" value="发送请求" />
 </p>
 <script src="~/Scripts/jquery-1.10.2.min.js"></script>
 <script type="text/javascript">
  //var tmp = &#39;<input type="hidden" name="model" value="1" /><input type="hidden" name="model" value="2" />&#39;;
  var array = ["abc","123"];
  $(function () {
   $("#btnAjax").click(function () {
    $.ajax({
     url: &#39;@Url.Action("Test")&#39;,
     type: &#39;POST&#39;,
     data: {
      model:array
     },
     success: function (json) {
      console.log(json);
     }
    });
   });
  });
 </script>
</body>
</html>

방법 3, 매개변수 요청으로 Json을 사용합니다. 이때 Ajax는 Content-Type을 application/json


@{
 Layout = null;
}
<!DOCTYPE html>
<html>
<head>
 <meta name="viewport" content="width=device-width" />
 <title>Test</title>
</head>
<body>
 <p>
  <input type="button" id="btnAjax" value="发送请求" />
 </p>
 <script src="~/Scripts/jquery-1.10.2.min.js"></script>
 <script type="text/javascript">
  //var tmp = &#39;<input type="hidden" name="model" value="1" /><input type="hidden" name="model" value="2" />&#39;;
  //var array = ["abc","123"];
  $(function () {
   $("#btnAjax").click(function () {
    $.ajax({
     url: &#39;@Url.Action("Test")&#39;,
     type: &#39;POST&#39;,
     contentType:&#39;application/json;charset=utf-8&#39;,
     data: JSON.stringify({
      model:["hello","welcome"]
     }),
     success: function (json) {
      console.log(json);
     }
    });
   });
  });
 </script>
</body>
</html>

으로 선언해야 합니다.

위 예제에서는 ASP.NET MVC 5를 사용합니다

관련 권장 사항:

How to use php to pass arrays to js scripts

jquery ajax failed to pass arrays to the background

jquery ajax 배열을 백그라운드로 전달하고 백그라운드 코드에서 배열을 수신하는 방법 세부정보

위 내용은 배열 매개변수 값을 서버에 전달하는 Ajax에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.