Javascript 如何将参数从Ajax函数传递到控制器操作?

Javascript 如何将参数从Ajax函数传递到控制器操作?,javascript,jquery,ajax,asp.net-core,Javascript,Jquery,Ajax,Asp.net Core,我的视图中有一个按钮,它调用jQueryAjax函数,从模型中传入参数 <input type="button" value="Run Check" onclick="runCheck('@actionItem.StepID', '@Model.Client.DatabaseConnectionString', '@Model.Client.ClientID')" /> 当我在控制器中硬编码特定值以表示适当的步骤、客户机和数据库时,ajax函数中的逻辑工作,但当我调试时,我看到两个

我的视图中有一个按钮,它调用jQueryAjax函数,从模型中传入参数

<input type="button" value="Run Check" onclick="runCheck('@actionItem.StepID', '@Model.Client.DatabaseConnectionString', '@Model.Client.ClientID')" />
当我在控制器中硬编码特定值以表示适当的步骤、客户机和数据库时,ajax函数中的逻辑工作,但当我调试时,我看到两个整数为
0
,字符串为
null

如何将这些值传递给控制器?我考虑过只将它们存储在
ViewBag
ViewData
中,但这看起来很笨重,不是一个好的做法。

试试这个

var req={ stepId: x, databaseConnectionString: y, clientId: z }

function runCheck(x, y, z) {
            $.ajax({
                url: '@Url.Action("ProcessFeedbackHasRows", "Client")',
                type: 'POST',
                contentType: 'application/json;',
                data: JSON.stringify(req),
                success: function (data) {
                    if (data.IsValid) {
                        //alert('true');
                        var url = '@Url.Action("ViewProcessingFeedBackPartial", "Client")';
                        $("#processingFeedbackPartialDiv").load(url, { stepId, databaseConnectionString, clientId },
                            function () {
                                $("#confirmButton").removeAttr("style");
                            });
                    } else {
                        //alert('false');
                        var newUrl = '@Url.Action("Processing", "Client")';
                        window.location = newUrl;
                    }
                }
            });
    };

试试这个

var req={ stepId: x, databaseConnectionString: y, clientId: z }

function runCheck(x, y, z) {
            $.ajax({
                url: '@Url.Action("ProcessFeedbackHasRows", "Client")',
                type: 'POST',
                contentType: 'application/json;',
                data: JSON.stringify(req),
                success: function (data) {
                    if (data.IsValid) {
                        //alert('true');
                        var url = '@Url.Action("ViewProcessingFeedBackPartial", "Client")';
                        $("#processingFeedbackPartialDiv").load(url, { stepId, databaseConnectionString, clientId },
                            function () {
                                $("#confirmButton").removeAttr("style");
                            });
                    } else {
                        //alert('false');
                        var newUrl = '@Url.Action("Processing", "Client")';
                        window.location = newUrl;
                    }
                }
            });
    };

根据,我必须删除我的
contentType
属性,并且成功地传递了值

<script type="text/javascript">
    function runCheck(x, y, z) {
        $.ajax({
            url: '@Url.Action("ProcessFeedbackHasRows", "Client")',
            type: 'POST',
            data: { stepId: x, databaseConnectionString: y, clientId: z },
            success: function (result) {
                if (result.IsValid) {
                    alert('true');
                    var url = '@Url.Action("ViewProcessingFeedBackPartial", "Client")';
                    $("#processingFeedbackPartialDiv").load(url, { stepId, databaseConnectionString, clientId },
                        function () {
                            $("#confirmButton").removeAttr("style");
                        });
                } else {
                    alert('false');
                    var newUrl = '@Url.Action("Processing", "Client")';
                    window.location = newUrl;
                }
            }
        });
};

函数运行检查(x,y,z){
$.ajax({
url:'@url.Action(“ProcessFeedbackHasRows”,“Client”),
键入:“POST”,
数据:{stepId:x,databaseConnectionString:y,clientId:z},
成功:功能(结果){
if(result.IsValid){
警报(“真”);
var url='@url.Action(“ViewProcessingFeedBackPartial”、“Client”);
$(“#processingFeedbackPartialDiv”).load(url,{stepId,databaseConnectionString,clientId},
函数(){
$(“confirButton”).removeAttr(“样式”);
});
}否则{
警报(“假”);
var newUrl='@Url.Action(“处理”、“客户端”);
window.location=newUrl;
}
}
});
};

根据,我必须删除我的
contentType
属性,并且成功地传递了值

<script type="text/javascript">
    function runCheck(x, y, z) {
        $.ajax({
            url: '@Url.Action("ProcessFeedbackHasRows", "Client")',
            type: 'POST',
            data: { stepId: x, databaseConnectionString: y, clientId: z },
            success: function (result) {
                if (result.IsValid) {
                    alert('true');
                    var url = '@Url.Action("ViewProcessingFeedBackPartial", "Client")';
                    $("#processingFeedbackPartialDiv").load(url, { stepId, databaseConnectionString, clientId },
                        function () {
                            $("#confirmButton").removeAttr("style");
                        });
                } else {
                    alert('false');
                    var newUrl = '@Url.Action("Processing", "Client")';
                    window.location = newUrl;
                }
            }
        });
};

函数运行检查(x,y,z){
$.ajax({
url:'@url.Action(“ProcessFeedbackHasRows”,“Client”),
键入:“POST”,
数据:{stepId:x,databaseConnectionString:y,clientId:z},
成功:功能(结果){
if(result.IsValid){
警报(“真”);
var url='@url.Action(“ViewProcessingFeedBackPartial”、“Client”);
$(“#processingFeedbackPartialDiv”).load(url,{stepId,databaseConnectionString,clientId},
函数(){
$(“confirButton”).removeAttr(“样式”);
});
}否则{
警报(“假”);
var newUrl='@Url.Action(“处理”、“客户端”);
window.location=newUrl;
}
}
});
};