【问题标题】:jQuery how to get json { "InputName":"Value"...}jQuery 如何获取 json { "InputName":"Value"...}
【发布时间】:2023-03-28 02:25:02
【问题描述】:

您好,我有一个 HTML 表单,我想使用 jQuery 对其进行序列化,但我想获得如下格式:

{ "Message":"message textg","Tags":"tags text","Facebook":"true"...}

我在表单中的输入是:

<textarea name="Message" rows="5" value="" required />
<input type="text" name="Tags" value="">
<input type="checkbox" name="Facebook" checked="checked">
<input type="checkbox" name="Twitter" checked="checked">
<textarea name="FacebookText" rows="5" value="" />
<textarea rows="5" name="TwitterText" value="" />

如果我这样做:

JSON.stringify($('#form-message').serialize()); 然后我得到一个字符串:

"Message=Message+text&Tags=Tags&Facebook=on&FacebookText=Facebook+text&Twitter=on&TwitterText=Twitter+text"

如果我这样做:

JSON.stringify($('#form-message').serializeArray()); 然后我得到一个字符串:

[{"name":"Message","value":"Message Text"},{"name":"Tags","value":"Tags"},{"name":"Facebook","value":"on"},{"name":"FacebookText","value":"Facebook Text"},{"name":"Twitter","value":"on"},{"name":"TwitterText","value":"Twitter Text"}]

【问题讨论】:

    标签: jquery json asp.net-mvc json.net


    【解决方案1】:

    在第一个示例中,您 JSON.stringify 一个字符串。这将返回错误的结果。试试这个:

    var paramObj = {};
    $.each($('#form-message').serializeArray(), function(_, kv) {
     paramObj[kv.name] = kv.value;
    });
    var data = JSON.stringify(paramObj);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多