微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript-通过ajaxsetup发布带有附加参数的表单序列化数据

我正在使用$.ajax提交表单,我想向提交中添加一个键-值对,这些键/值对不属于表单输入,并且对我所有的表单都是常见的.
所以我计划将通用部分移至ajaxsetup.
我想在操作中以ModelData,TokenKey等两个参数的形式接收它们
我的HTML代码

<form id="frm">
    @Html.TextBoxFor(m => m.Name)
    <input type="button" value="Test" onclick="AjaxPost(); return false;" />
</form>

我的Java脚本

$(function () {
        $.ajaxSetup({ data: { 'TokenId': 'TokenId Value'} });
    });

    function AjaxPost() {
        var frm = $("#frm");
        $.ajax({
            url: '/Home/Index',
            type: 'POST',
            data: frm.serialize(),
            success: function () { }
        });
    }

这行不通!如果我删除了AjaxPost函数TokenId中的数据正在发布,
否则它不是.

解决方法:

我认为这将是一个很好的解决方案:

$.ajaxPrefilter(function(options, originalData, xhr){
  if (options.data)
    options.data += "&TokenId=TokenValue";
});

这将影响所有的ajax调用.看看codepen DEMO

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐