加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 在ajax调用中传递参数

发布时间:2020-12-16 07:35:05 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试对控制器方法进行ajax调用.没有参数它工作正常.一旦我添加参数,我总是会收到一个空参数给cotroller.我想我已经正确地完成了传入ajax调用的参数. script type="text/javascript" $(document).ready(function () { $('#lstStock').change(function (
我正在尝试对控制器方法进行ajax调用.没有参数它工作正常.一旦我添加参数,我总是会收到一个空参数给cotroller.我想我已经正确地完成了传入ajax调用的参数.

<script type="text/javascript">
        $(document).ready(function () {
            $('#lstStock').change(function () {
                var serviceURL = '<%= Url.Action("GetStockPrice","Delivery") %>';
                var dropDownID = $('select[id="lstStock"] option:selected').val();
             alert(dropDownID); // here i get the correct selected ID
                $.ajax({
                    type: "POST",url: serviceURL,data: '{"stockID":"' + dropDownID + '"}',contentType: "application/json; charset=utf-8",dataType: "json",success: successFunc,error: errorFunc
                });

                function successFunc(data,status) {

                    alert(data.Result);


                }

                function errorFunc() {
                    alert('error');
                }
            })
        });
    </script>

控制器:

[HttpGet]
        public ActionResult GetStockPrice()
        {
            return View();
        }

        [HttpPost]
        [ActionName("GetStockPrice")]
        public ActionResult GetStockPrice1(string stockID)//I get the null parameter here
        {
            DeliveryRepository rep = new DeliveryRepository();
            var value = rep.GetStockPrice(stockID);
            return Json(new { Result = value },JsonRequestBehavior.AllowGet);

        }

解决方法

这是因为您将数据视为字符串

data: '{"stockID":"' + dropDownID + '"}',

你可以把它改成:

data: { stockID: dropDownID },

在某些情况下,根据控制器方法中声明的参数,您需要序列化数据.如果你需要这样做,那么你就是这样做的:

var o = { argName: some_value };
$.ajax({
    // some other config goes here
    data: JSON.stringify(o),});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读