Javascript 不可读格式的响应

Javascript 不可读格式的响应,javascript,android,cordova,Javascript,Android,Cordova,上述代码在android 4.0中运行良好,响应采用有效的JSON格式。。 但当我在android 2.3中运行相同的代码时,我得到的响应格式未知,我的url和参数在两个android版本中都是相同的 在2.3中,我的回答是。 �I�%&/M�{J�J��T��$ؐ@�����iG#)�*��eVe]f@�흼��{���{��;�不���?\fdl��J�ɞ!���?~|?"��?�YQ~�裏F�������N���/ 在我看来,你正在做相反的事情 您希望将JSON字符串解析为对象,而不是从对象

上述代码在android 4.0中运行良好,响应采用有效的JSON格式。。 但当我在android 2.3中运行相同的代码时,我得到的响应格式未知,我的url和参数在两个android版本中都是相同的

在2.3中,我的回答是
�<代码>I�%&/M�{J�J��T��$ؐ@�����iG#)�*��eVe]f@�흼��{���{��;�不���?\fdl��J�ɞ!���?~|?"��?�YQ~�裏F�������N���/ 在我看来,你正在做相反的事情

您希望将JSON字符串解析为对象,而不是从对象中提取JSON字符串,JSON.stringify()就是这样做的


改为使用JSON.parse()。eval()也可以完成这项工作,但速度很慢,不推荐使用。

您是否尝试过将
响应类型设置为
JSON
。我只在jquery中使用过它。如果您有任何疑问,请检查这一点

回答

本文提供了一些替代方案,因此JSON解析在Android 4.0上有效,但在Android<4.0

上无效。提供输入、输出和预期输出,并指定您的
callbackFn
@WaleedKhan ya,现在更新谢谢。但问题不是abt JSON,我没有得到有效的响应。抱歉,我不是Android程序员,但您是否检查过这一点,所以JSON后解析可以在Android 4.0上工作,但不能在Android<4.0上工作。这里提供了一些替代方案。
var httpc = new XMLHttpRequest(); // simplified for clarity
        httpc.open("POST", url, true); // sending as POST
        httpc.setRequestHeader("Content-Type",
                "application/x-www-form-urlencoded");
        httpc.onreadystatechange = function() { // Call a function when the
            // state changes.
            if (httpc.readyState == 4 && httpc.status == 200) {
            //MY JSON RESPONSE  
                        alert(JSON.stringify(httpc.responseText));
            }
        }
        httpc.send(params);