为了账号安全,请及时绑定邮箱和手机立即绑定

Mvc Jquery Ajax Post返回null

Mvc Jquery Ajax Post返回null

哔哔one 2019-11-04 14:11:47
我一直在尝试发布两个参数...这是ajax代码function Kaydet() {        var params = {};        var Kiralayan = $("#RentForm").serialize();                    params.kisi = Kiralayan ;        params.aracid = P.AracID;                   console.log(params);        $.ajax({            type: "POST",            url: '@Url.Action("Save","AracKirala")',            data: params,            dataType: "text",            success: function (response) {                if (response != "OK") {                    alert("Kayıt yapılamadı.");                }                else {                    document.getElementById("RentForm").reset();                    alert("Kayıt başarıyla gerçekleştirildi.");                    $("#myModal").modal('hide');                    Ara();                }            }        });方法public ActionResult Save(Kiralayan kisi = null, int aracid = 0)    {问题是ajax正确地发布了“ aracid”,但是当触发该方法时,“ kisi”变成了空...我尝试不发布带有“ kisi”的“ aracid”,所以ajax对于一个参数“ kisi”很好地发布了,但是不能一起工作...
查看完整描述

3 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

如果序列化表格,则可以使用.param()函数向其添加其他值


var data = $("#RentForm").serialize() + '&' + $.param({ 'aracid': AracID }, true);


$.ajax({

    type: "POST",

    url: '@Url.Action("Save","AracKirala")',

    data: data,

    ....


查看完整回答
反对 回复 2019-11-04
?
冉冉说

TA贡献1877条经验 获得超1个赞

MVC将为您映射对象,因此您最好跳过对象中表单的提取嵌套。


笔记:

如果aracid也是模型中的一个属性,它将同时映射到该属性和 extra参数。

与serialise()在serialize()调用之前串联字符串的替代方法相比,对集合使用push 更易于维护。

例如


 var Kiralayan = $("#RentForm").serialize();            

 // Add the extra non-form parameter

 Kiralayan.push({name: 'aracid', value: P.AracID});

完整示例:


    function Kaydet() {

        var Kiralayan = $("#RentForm").serialize();            

        // Add the extra non-form parameter

        Kiralayan.push({name: 'aracid', value: P.AracID});         

        console.log(params);


        $.ajax({

            type: "POST",

            url: '@Url.Action("Save","AracKirala")',

            data: Kiralayan,

            dataType: "text",

            success: function (response) {

                if (response != "OK") {

                    alert("Kayıt yapılamadı.");

                }

                else {

                    document.getElementById("RentForm").reset();

                    alert("Kayıt başarıyla gerçekleştirildi.");

                    $("#myModal").modal('hide');

                    Ara();

                }


            }

        });


查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 507 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信