2010-11-06 68 views
1

我有一個ajax調用,出去我的rails服務器。根據內容類型的不同,我的Rails服務器會以HTML或JSON響應。這在iPhone瀏覽器和Chrome瀏覽器等桌面瀏覽器上正常工作。但是,在Android瀏覽器中,我的服務器無法識別內容類型。我不認爲overrideMimeType正在工作!如何通過針對Android瀏覽器的AJAX調用指定內容類型?

任何人都知道解決方法嗎?如果我無法弄清楚,我只需要創建一個特殊的URL來處理JSON請求。

代碼看起來是這樣的:

function makeAjaxCall { 
    xmlhttp=new XMLHttpRequest(); 
    targetUrl = window.location.pathname; 
    xmlhttp.open('GET',targetUrl,true);  
    xmlhttp.overrideMimeType("application/json"); 
    xmlhttp.onreadystatechange=function() 
    { 

     if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     { 
       // On android browsers only this responds with HTML when it should be JSON 
     alert('response:' + xmlhttp.responseText); 
     r = eval('(' + xmlhttp.responseText + ')'); 
        // Do more stuff 
     } 
    } 
    xmlhttp.send(); 
} 

回答

1

也許你需要

xmlhttp.setHeader("Content-Type", "application/json");

呢?

相關問題