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

Javascript-是否可以在ajax中通过模型传递其他参数?

使用下面的脚本传递一个强类型的模型,它可以正常工作.有没有办法在模型中同时包含vars的值作为附加参数?我知道如何传递模型或变量,但不能同时传递.

var sample1 = "aaa";
var sample2 = "bbb";

    $.ajax({

   url: "Action/Controller",
   data: $("#form123").serialize(),       
   cache: true,
   type: "POST",
   dataType: 'html',                                
   success: function (data) {                       
   $('#form123').html(data)};              

});

解决方法:

您可以将数据对象设置为包括三个属性,一个属性用于序列化表单,另一个属性用于样本.

data: {
  formData: $("#form123").serialize(),
  sample1: sample1,
  sampleTwo: sample2
}

更新:鉴于此解决方案不适用于您的情况,因此有另一种选择.

由于.serialize()的结果是将其输入转换为标准的URL编码形式,例如prop1 = val1& prop2 = val2,因此您可以将其他变量附加到输出字符串中.例如,

var formData = $("#form123").serialize() + '&' + sample1 + '&' + sample2;
$.ajax({
  ...
  data: formData,
  ...
});

但是,这有点麻烦,不容易扩展为更多的附加参数,并且在不清除sample1和sample2的值的情况下不应该这样做.

根据您的情况,这可能是一个可行的解决方案,但是我认为Robert Levy’s suggestion将数据添加到表单中的隐藏输入中可能是更好的选择.

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

相关推荐