Mvc Jquery Ajax Post返回null

 2023-02-17    253  

问题描述

我一直在尝试发布两个参数……
这是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();
                }

            }
        });

方法

Mvc Jquery Ajax Post返回null

public ActionResult Save(Kiralayan kisi = null, int aracid = 0)
    {

问题是Ajax Posts”AracID”正版,但是当该方法突出时,”KISI”将旋转为NULL …
我试图用”kisi”张贴”aracid”,所以Ajax张贴了一个参数”kisi”,但并不在一起工作…

推荐答案

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

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

$.ajax({
    type: "POST",
    url: '@Url.Action("Save","AracKirala")',
    data: data,
    ....

其他推荐答案

mvc将为您映射对象,因此您可以跳过对象内表单的提取嵌套.

注意:

  • 如果aracid也是模型中的属性,它将映射到属性和额外参数.
  • 使用推动serialise()集合比在serialize()呼叫之前连接字符串的替代方案更具可维护.

e.g.

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();
                }

            }
        });

以上所述是小编给大家介绍的Mvc Jquery Ajax Post返回null,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://www.77isp.com/post/34271.html

=========================================

https://www.77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。