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();                                                                    

私は成功関数に2つのアラートを書きました。最初のアラートで私はこのようになりました

{"画像名":"1.jpeg","画像ID":"xxxxxxxxxxxx"}

imagename を取得するための 2 番目のアラートを書きましたが、未定義になりました

そのため、特定のキー値を取得できませんでした。これを解決するには?

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 は aJSON 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 に答える