Formdata无法使用Google Chrome [英] Formdata is not working in Google chrome

查看:760
本文介绍了Formdata无法使用Google Chrome的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我有一个表单,其中包含一个上传控件和一些文本字段。

我将formdata值发送到控制器 ajax。

这里面临一个问题,即能够在 IE和Mozilla中获取formdata值但不能 in chrome。请我知道原因。

这是我的代码片段。

var fileUpload = $( #file)。get( 0 );

var files = fileUpload.files;

var fileData = new FormData();

for var i = 0 ; i< files.length; i ++)
{

fileData.append(files [i] .name,files [i]);

}

fileData.append( textfield1,$(' #textfield1')。val());

fileData.append( textfield2,$(' #textfield2')。val());

fileData.append( textfield3,$( #textfield3')。val());

fileData.append( textfield4,$(' #textfield4')。val());

xhr = $ .ajax({

url:' 主页/索引'

类型:' POST'

dataType: JSON

contentType: false // 不设置任何内容header

processData: false // 不处理数据

data:fileData
})


谢谢 in advance。





我尝试过的事情:



我尝试使用IE和Mozilla它工作正常。

解决方案

#file)。get( 0 );

var files = fileUpload.files;

var fileData = new FormData();

for var i = 0 ; i< files.length; i ++)
{

fileData.append(files [i] .name,files [i]);

}

fileData.append( textfield1


' #textfield1')。val ());

fileData.append( textfield2


' #textfield2')。val());

fileData.append( textfield3


Hi,

I have a form with one upload control and some text fields.

i am sending the formdata values to the controller with ajax.

Here am facing one problem i.e am able to get the formdata values in IE and Mozilla but not in chrome. Please let me know the reason.

Here is my code snippet.

var fileUpload = $("#file").get(0);

 var files = fileUpload.files;

 var fileData = new FormData();

for (var i = 0; i < files.length; i++)
{

    fileData.append(files[i].name, files[i]);

}
 
 fileData.append("textfield1", $('#textfield1').val());

 fileData.append("textfield2", $('#textfield2').val());

 fileData.append("textfield3", $('#textfield3').val());

 fileData.append("textfield4", $('#textfield4').val());
 
xhr = $.ajax({

                url: 'Home/Index',

                type: 'POST',

                dataType: "JSON",

                contentType: false, // Not to set any content header 

                processData: false, // Not to process data 

                data: fileData
    })


Thanks in advance.



What I have tried:

I tried with IE and Mozilla it is working fine.

解决方案

("#file").get(0); var files = fileUpload.files; var fileData = new FormData(); for (var i = 0; i < files.length; i++) { fileData.append(files[i].name, files[i]); } fileData.append("textfield1",


('#textfield1').val()); fileData.append("textfield2",


('#textfield2').val()); fileData.append("textfield3",


这篇关于Formdata无法使用Google Chrome的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆