Submit array param with jQuery ajax/load

后端 未结 4 1782
佛祖请我去吃肉
佛祖请我去吃肉 2021-02-13 10:05

public ActionResult DoSomething(string[] arr, bool someBool, int someInt) { }

trying to call the above method from jQuery:

var test = [];
te         


        
相关标签:
4条回答
  • 2021-02-13 10:19

    can you see if this problem is similar to yours:

    Passing an nested arrays to asp.net mvc using jQuery's $.ajax

    0 讨论(0)
  • 2021-02-13 10:26

    If you are using jquery 1.4 you might need to set the traditional parameter to true in order to be compatible with the default model binder format in ASP.NET MVC:

    var test = [];
    test.push('dog');
    test.push('cat');
    
    $.ajax({
        url: 'MyController/DoSomething',
        type: 'GET',
        traditional: true,
        data: { arr: test, someBool: true, someInt: 1 },
        success: function(result) {
            $container.html(result);
        }
    });
    

    or if you prefer the .load() method:

    var data = { arr: test, someBool: true, someInt: 1 };
    $container.load('MyController/DoSomething', $.param(data, true), 
        function(response, status, xhr) {
        // ...
    });
    
    0 讨论(0)
  • 2021-02-13 10:36

    Just remove []

    { 'arr': test, 'someBool': true, 'someInt': 1 },
    

    Posted values (checking with Firebug).

    arr[]       dog
    arr[]       cat
    someBool    true
    someInt     1
    
    • Example on jsFiddle
    0 讨论(0)
  • 2021-02-13 10:37

    Even i was facing error, in passing array from HTML page to aspx page.

    my requirement was to load the aspx page in a DIV tag of the html page. on the page load i need to pass these JS array values to aspx page load.

    i used below method.

    $('#<divTagID>').load("Targetpage.aspx",{"Arr":JSArrValues});

    In aspx page load event i can access this values as:

    string results = Response["Arr[]"];

    Thanks to JQuery API documentation enter link description here and stackoverflow

    0 讨论(0)
提交回复
热议问题