2013-05-27 60 views
0

我曾嘗試使用AJAX這樣如何從和上傳文件的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();                  

我在成功函數中寫了兩個alert。在第一個警報,我得到這樣的

{「imagename」:「1.jpeg」,「圖像標識」:「XXXXXXXXXXXX」}

我已經寫了第二警惕獲得imagename但我得到取消定義

所以我無法得到具體的關鍵價值。如何解決這個問題?

回答

1

變化

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

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

jQuery的,如果內容類型是'Content-Type':'text/html'不轉換JSON stringJavascript Object。所以,'Content-Type':'application/json''Content-Type':'text/json'會做到這一點。您將在客戶端獲得響應爲Javascript對象。所以,你可以做

alert(response.imagename);//alerts image name