0

我试图通过像这样使用 ajax 将上传的文件发送到服务器

    formData.append('foldername',fname);
    formData.append('file', file)
    $.ajax({

            url: 'imageupload',
            data: formData,
            processData: false,
            contentType: false,
            type: 'POST',
            success:function(response)
            {


                            alert(response);
                            alert(response.imagename);


            }
    });

它已成功将数据发送到服务器,但我已经从服务器发送了这样的响应

  res.writeHead(200,{'Content-Type':'text/html', 'Access-Control-Allow-Orgin':'*'});
  res.write(JSON.stringify({"imagename":"1.jpeg","imageid":"xxxxxxxxxxxxxxxxxxx"}));
  res.end();                                                                    

我在成功函数中写了两个警报。在第一次警报中,我得到了这样的

{"imagename":"1.jpeg","imageid":"xxxxxxxxxxxx"}

我已经写了第二个警报以获得图像名,但我没有定义

所以我无法获得特定的键值。如何解决这个问题?

4

1 回答 1

1

改变

res.writeHead(200,{'Content-Type':'text/html', 'Access-Control-Allow-Orgin':'*'});

res.writeHead(200,{'Content-Type':'application/json', 'Access-Control-Allow-Orgin':'*'});

如果内容类型为.jquery ,则不会将 a 转换JSON string为。所以,还是会变魔术。您将在客户端中以 Javascript 对象的形式获得响应。所以,你可以做Javascript Object'Content-Type':'text/html''Content-Type':'application/json''Content-Type':'text/json'

alert(response.imagename);//alerts image name
于 2013-05-27T06:12:20.203 回答