当前位置: 首页 > 面试题库 >

如何使用对动作的ajax调用传递表单收集?

宋明亮
2023-03-14
问题内容

我正在尝试用ajax调用替换表单提交。该动作需要formcollection,我不想创建一个新的Model。所以我需要通过ajax调用来传递整个表单(就像表单提交一样)。我尝试序列化并使用Json,但formcollection为空。这是我的动作签名:

public ActionResult CompleteRegisteration(FormCollection formCollection)

这是我的提交按钮,单击:

var form = $("#onlineform").serialize();              
            $.ajax({
                url: "/Register/CompleteRegisteration",                
                datatype: 'json',
                data: JSON.stringify(form),
                contentType: "application/json; charset=utf-8",                
                success: function (data) {
                    if (data.result == "Error") {
                        alert(data.message);
                    }
                }
            });

现在如何将数据传递到formcollection中?


问题答案:

由于FormCollection存在许多键值对,因此JSON对于其表示而言是不合适的数据格式。您应该只使用序列化的表单字符串:

var form = $("#onlineform").serialize();
$.ajax({
    type: 'POST',
    url: "/Register/CompleteRegisteration",
    data: form,
    dataType: 'json',
    success: function (data) {
        if (data.result == "Error") {
            alert(data.message);
        }
    }
});

关键更改:

  1. *设置为POST的请求的 *类型 (这里没有必要,但看起来更自然)
  2. 序列化形式而不是JSON字符串作为请求 数据
  3. contentType 已删除-我们不再发送JSON


 类似资料:
  • 问题内容: 我想将一个对象传递给控制器​​,并在控制器中检索值。我定义如下: HTML代码: Javascript: 但是我无法在控制器中检索值。它越来越空。 问题答案: 尝试以下操作:-您正在传递对象数组,因此您应该执行HTTPPost而不是HttpGet(这将适用于通过查询字符串发送它的原始类型数组,例如int,strgin等列表)(请记住查询字符串的限制)。尝试使用HTTPPost

  • 问题内容: 我正在使用像这样的jquery ajax调用: 通话仍然不会转到网络服务。每当我收到错误警报时。可以帮我一下吗? 问题答案: 尝试使用post作为方法类型,大多数Web服务是受保护的,并且需要使用post而不是Get进行转换 另外还可以帮助您调试错误以及错误提示信息。

  • 本文向大家介绍如何通过AJAX调用传递JavaScript变量?,包括了如何通过AJAX调用传递JavaScript变量?的使用技巧和注意事项,需要的朋友参考一下 要通过AJAX调用传递JavaScript变量,请替换以下内容- 与- 示例 尝试以下代码以通过AJAX调用正确传递变量-

  • 问题内容: 我试图将对象从我的应用程序委托传递到另一个类的通知接收器。 我想传递整数。现在我有: 在接收器中: 在执行通知的类中: 但是我想将对象传递给另一个类。 问题答案: 您必须使用“ userInfo”变体,并传递一个包含messageTotal整数的NSDictionary对象: 在接收端,您可以按以下方式访问userInfo字典:

  • 今天早些时候,我问了一个关于使用ZenDesk API进行ajax调用的问题。 我可以在命令提示符下成功运行以下命令,并在ZenDesk中创建一个票证(是api令牌字符串): 我现在试图理解的是如何将其转换为ajax调用。这是我下面的文档。 我目前正在做的事情如下: 以下是我已经看过的一些答案和文档,但我仍然很困惑: (最佳之一):https://auth0.com/blog/using-json

  • 问题内容: 我的问题如下: 我有2个不同的对象,必须从一个表单中填写。 对于1个对象,我只需在newFoo.html中执行: 并在FooController中: 假设我有另一个对象栏,其中带有“状态”变量。我该如何传递该对象,以便可以在同一表格中提交输入? 喜欢: 到目前为止,我试图对其中带有th:object的字段进行设置,这是行不通的,我试图将两个th:object放入形式,这也不起作用。 我