code

아약스에서 c# mvc로 intarray를 어떻게 보낼 수 있습니까?

starcafe 2023. 8. 21. 21:27
반응형

아약스에서 c# mvc로 intarray를 어떻게 보낼 수 있습니까?

$.ajax에서 c# mvc로 intarray를 어떻게 보낼 수 있습니까?

$.ajax({
          url: <Url of the action>,
          type: "POST",
          data: JSON.stringify([1,2,3]),
          dataType: "json",
          contentType: 'application/json; charset=utf-8'
});

그리고 행동 중에.

public ActionResult ReceiveIntArray(int[] ints)
{
   ...
}

mvc는 json을 자동으로 구문 분석해야 합니다.

질문을 확인하십시오.

다음 질문에서 해결 방법을 시도해 보십시오.

설정traditionalget call을 하기 전에 true 속성. 즉:

jQuery.ajaxSettings.traditional = true

$.get('/controller/MyAction', 
    { vals: arrayOfValues }, 
    function (data) {
      ...
    }

제가 하는 방법은 간단한 것입니다.input:hidden요소

<input type="hidden" name="elements" value='@String.Join(",", ViewBag.MyArray)' />

자바스크립트 코드에서 문자열로 전달합니다.

$.ajax({
   type: "POST",
   url: '/Controller/Method',
   data:
      {
          recipients: $("input[name=elements]").val()
      },
      traditional: true,
      success: updateSelected
});

그리고 마침내 나는 그냥Split다음과 같은 요소:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Method(string elements)
{
    IList<long> selected = elements.Split<long>(',');
    ...
}

가장 간단한 방법은 GET 요청에 대한 인수로 구분된(콤마, 가능하면) int 문자열 목록을 보낸 다음 사용하는 것입니다.Sting.Split()C# MVC 수신기에서 구문 분석합니다.

예를 들면,$.get("/path-to/receiver/", { myArray: myArray.toString() } );

그런 다음 서버에서 다음을 사용합니다.

string[] stringArray = Request.QueryString["myArray"].ToString().Split(',')

문자열 배열에 값을 추출하려면,Int32.TryParse마지막으로 int 배열을 얻는 것.

jQuery GET 구문
JS Array to String() 구문

다음 솔루션을 사용해 보십시오.

var Array = [10, 20, 30];

$.ajax({
    type: "Post",
    datatype: "Json",
    url: <Url of the action>,
    data: JSON.stringify(Array),
    contentType: 'application/json; charset=utf-8',

});

언급URL : https://stackoverflow.com/questions/9109544/how-can-i-send-int-array-from-ajax-to-c-sharp-mvc

반응형