首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C# Jquery Ajax发布多个数据参数

C# Jquery Ajax发布多个数据参数
EN

Stack Overflow用户
提问于 2013-04-14 14:10:29
回答 2查看 12.9K关注 0票数 0

在我的c# mvc4应用程序中,有三个对象希望使用带Jquery的AJAX post传递给ActionResult。对象是两个字符串和一个表单集合。我只传递表单集合没有任何问题,但似乎不能正确地传递所有三个集合的语法。这是我尝试过的:

代码语言:javascript
运行
复制
 $(document).ready(function () {
        $('#ChangeName').click(function (e) {
            var tdata = $('#form1').serialize();
            var origname = $('#NameDiv').find('input[name="myName"]').first().val();
            var newname = $('#NameDiv').find('input[name="updatedName"]').first().val();
            $.ajax({
                type: "POST",
                data: {tdata + origname + newname},
                url: "Home/ChangeName",
                success: function (result) { success(result); }
            });
        });

我还尝试在data:部分中的每个变量名后使用逗号,并分别使用和不使用方括号。我怎么才能同时通过这三个考试呢?如果成功,两个字符串值在调试时都已正确填充,但是这些值没有出现在ActionResult中,而是显示为null。我也试着把这个放在data下面:contentType: "application/x-www-form-urlencoded",

这也是我的ActionResult的开始:

代码语言:javascript
运行
复制
 public ActionResult ChangeName(string Name, string updatedName, FormCollection mCollection)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-15 01:07:56

你能不能试试:

代码语言:javascript
运行
复制
$(document).ready(function () {
        $('#ChangeName').click(function (e) {
            var tdata = $('#form1').serialize();
            var origname = $('#NameDiv').find('input[name="myName"]').first().val();
            var newname = $('#NameDiv').find('input[name="updatedName"]').first().val();
            $.ajax({
                type: "POST",
                data: {
                    mCollection: tdata,
                    Name: origname,
                    updatedName: newname
                },
                url: "Home/ChangeName",
                success: function (result) { success(result); }
            });
        });
票数 3
EN

Stack Overflow用户

发布于 2013-04-14 14:29:40

我认为问题在于如何将原始名称和新名称放入ajax请求中。试试这个:

代码语言:javascript
运行
复制
var origname = $('#NameDiv').find('input[name="myName"]').first().val();
var newname = $('#NameDiv').find('input[name="updatedName"]').first().val();
$.ajax({
     url: 'Home/ChangeName',
     type: "POST",
     data: $("#form1").serialize() + "&origname =" + origname + "&newname =" + newname, 
     success: function (result) { success(result); }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15996290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档