Jquery Ajax向服務端傳遞數組參數值

來源:互聯網
上載者:User

標籤:blog   script   net   res   gif   lis   ext   asp   utf-8   

在使用MVC時,向伺服器端發送POST請求時有時需要傳遞數組作為參數值

下面使用例子說明,首先看一下Action

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

方式一,構造表單元素,然後調用serialize()方法得到構造參數字串

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

偵錯模式監視參數,當點擊按鈕時,監視得到的參數如下

 

 

方式二:使用JavaScript對象作為參數傳值,參數名是與Action方法對應的參數名,參數值是JavaScript數組

 

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

 

方式三,使用Json作為參數請求,此時Ajax需要聲明Content-Type為application/json

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

上面的例子使用的是ASP.NET MVC 5

Jquery Ajax向服務端傳遞數組參數值

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.