我有一个调用我的rails服务器的ajax调用。根据内容类型,我的rails服务器可以使用HTML或JSON进行响应。这在iPhone浏览器和Chrome等桌面浏览器上运行良好。但是在Android浏览器上某种程度上我的服务器无法识别内容类型。我认为overrideMimeType不起作用!
有人知道解决方法吗?如果我无法理解,我只需要创建一个特殊的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();
}
答案 0 :(得分:1)
也许你需要
xmlhttp.setHeader("Content-Type", "application/json");
以及?