Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 文件上传返回未定义_Javascript_Jquery_Html_Node.js_Forms - Fatal编程技术网

Javascript 文件上传返回未定义

Javascript 文件上传返回未定义,javascript,jquery,html,node.js,forms,Javascript,Jquery,Html,Node.js,Forms,首先,我是一名使用JavaScript的web开发新手 我正在尝试设置一个表单,用户可以在其中为其个人资料添加自己的图像。但是,在测试代码和选择图像时,返回的值未定义。由于某些原因,它没有确认所选文件 这是我的密码: HTML JavaScriptServer端 app.post('/player_pic', function(req, res) { console.log('Adding player picture...........................');

首先,我是一名使用JavaScript的web开发新手

我正在尝试设置一个表单,用户可以在其中为其个人资料添加自己的图像。但是,在测试代码和选择图像时,返回的值未定义。由于某些原因,它没有确认所选文件

这是我的密码:

HTML

JavaScriptServer端

app.post('/player_pic', function(req, res) {

    console.log('Adding player picture...........................');

    console.log('Pic = ' + req.body.PlayerPic);
    console.log('ID = ' + req.body.PlayerID);

});
以下是我得到的结果:

添加播放器图片

Pic=未定义

ID=1532947080817

我环顾四周,找不到一个解决方案,为什么当我从表单中的本地文件夹中选择一个图像时,它会以未定义的形式返回

在此,我们将非常感谢您的帮助:

谢谢

我想您需要使用多部分/表单数据头进行文件传输

const fileData = $('#sortpicture').prop('files')[0];   
const formData = new FormData();                  
form_data.append('file', fileData);

$.ajax({
    type: 'POST',
    url: '/player_pic',
    data: formData,
    contentType: 'multipart/form-data',
    success: function(php_script_response){
        console.log(php_script_response);
    }
})

是否在开始标记中包含enctype=多部分/表单数据?是否发送正确的内容类型?如果要发送文件/文件数据,需要将内容类型设置为多部分/表单数据。有关更多信息,请参阅。我没有太感谢您为我标记此项,但我仍然得到相同的信息results@AlexMorrison在发布$pic_form.serialize之前,你能检查一下里面有什么吗?可能您的文件输入没有包含在序列化中?@AlexMorrison您可以简单地记录序列化数据,并查看它是否包含您的文件,如:console.log$pic_form.serialize;contentType:“multipart/form data”-这不起作用,缺少边界参数。php_script_response-OP正在服务器上使用JavaScript。
app.post('/player_pic', function(req, res) {

    console.log('Adding player picture...........................');

    console.log('Pic = ' + req.body.PlayerPic);
    console.log('ID = ' + req.body.PlayerID);

});
const fileData = $('#sortpicture').prop('files')[0];   
const formData = new FormData();                  
form_data.append('file', fileData);

$.ajax({
    type: 'POST',
    url: '/player_pic',
    data: formData,
    contentType: 'multipart/form-data',
    success: function(php_script_response){
        console.log(php_script_response);
    }
})