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

通过ajax发送FormData对象和一个附加参数

耿永寿
2023-03-14
问题内容

我设法发送了一个FormData对象,如下所示:

var formData = new FormData();
formData.append('file', this.files[0]);
$.ajax({
   url: urlUploadProductsFile,
   type: 'POST',
   data: formData,
   cache: false,
   contentType: false,
   processData: false
}, 'json');

现在,我要做的是添加一个附加值CustomerId以发送到服务器。以下内容无效:

var formData = new FormData();
formData.append('file', this.files[0]);
$.ajax({
   url: urlUploadProductsFile,
   type: 'POST',
   data: { "file": formData, "CustomerId": 2 },
   cache: false,
   contentType: false,
   processData: false
}, 'json');

我还尝试了以下变体:

data: { "file": formData, "CustomerId": 2 }, processData: true

data: JSON.stringify({ "file": formData, "CustomerId": 2 })

data: { "file": JSON.stringify(formData), "CustomerId": 2 }

data: { file: formData, CustomerId: 2 }

任何帮助表示赞赏。


问题答案:

尝试:

var formData = new FormData();
formData.append('file', this.files[0]);
formData.append('CustomerId', 2);

/*
 note:: appending in form Data will give "csrf token mismatch error". 
 so better you make a input feild of type hidden with name = CustomerId 
 and value =  2 
*/

$.ajax({
   url: urlUploadProductsFile,
   type: 'POST',
   data: formData,
   cache: false,
   contentType: false,
   processData: false
}, 'json');


 类似资料:
  • 问题内容: 我该如何发布文件并输入字符串数据?例如,我还有许多其他 隐藏的输入数据 ,需要将它们发送到服务器, html, 使用下面的这段代码,我仅设法发送文件数据 ,而不 发送隐藏的输入数据。 jQuery, server.php 结果, 我希望得到这个结果, 可能吗? 问题答案: 添加了一个循环,并在中将更改为,以供对象引用附加到。

  • 问题内容: 我正在使用ajax提交包含数组,文本字段和文件的多部分表单。 我将每个VAR附加到主数据中 然后我使用ajax函数将其发送到PHP文件以存储在sql DB中。 但是在PHP方面,变量(即数组)显示为字符串。 当我不使用ajax作为表单数据发送它,而是使用简单的选项时,确实在PHP端将它作为数组获得,但是后来我也无法发送文件。 有什么办法吗? 问题答案: 您有几种选择: 将其转换为JSO

  • 我正在使用ajax提交一个包含数组、文本字段和文件的多部分表单。 我将每个VAR附加到主数据中,如下所示 然后使用ajax函数将其发送到PHP文件中存储在sql DB中。 但是在PHP端,变量(一个数组)显示为字符串。 当我没有将它作为表单数据与ajax一起发送,而是使用简单的选项时,我会在PHP端将它作为一个数组来获取,但这样我就不能同时发送文件。 有什么解决办法吗?

  • 是这种格式,在后端,我只在请求中获得格式。我还需要发送“original_file_name”和“function_name”属性。当然,我可以将数组分成3个部分并分别追加它们,但是有没有办法将每个mediasData数组索引的所有there属性发送到formdata数组各自的索引中?

  • 问题内容: 我正在通过失败学习Ajax并碰壁: 我有一个用Javascript编写的数组(如果有关系,该数组将根据用户选中的复选框存储数字ID)。 我有一个函数,当用户单击“保存”按钮时被调用。功能如下: 我的问题是: 我可以在此函数中添加什么以将数组拉入要调用的php脚本(“ create_amenities.php”)? 此外,我应该尝试使用JSON吗?如果是这样,我如何通过ajax发送JSO

  • 问题内容: 我定义一个类,然后设置该类类型的对象。我想将此对象透明地发送到在另一台计算机上运行的另一个Java应用程序。什么是实现这一目标的最佳技术? 问题答案: 您可以使用Java API创建对象流并发送任何可序列化的对象。但您必须注意,这些内容不会通过网络进行加密: 在发送方方面: 在接收端: