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将数据添加到表单中的隐藏输入中可能是更好的选择.

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...