2 samuwoo samuwoo 于 2015.05.29 23:18 提问

为何数据接口在浏览器中无法返回数据,却能在AndroidStudio的代码中返回

我按照书上,调用“http://www.weather.com.cn/data/list3/city.xml ”这个地址,
用以返回城市和城市对应的代码,在app中是能获得数据,且数据结果与预期完全一致,
但如果把地址贴到浏览器(我使用的是Chrome)中,就会报错?请问为什么?

2个回答

guwei4037
guwei4037   Ds   Rxr 2015.05.29 23:23

http://www.weather.com.cn/data/list3/city.xml 返回的是 : “01|北京,02|上海,03|天津....” 这样的字符串,但是却是以xml结尾。
浏览器当成xml文件格式解析了,但是格式不是xml的,所以浏览器会提示格式错误。

程序中肯定针对文本的格式进行了处理,所以android模拟器可以正常解析,不报错。

guwei4037
guwei4037 回复samuwoo: 数据格式还真不是json,就是以|分割的字符串文本。因为页面后缀名是xml结尾的,当xml解析了,但是格式又不是xml的,所以报错了。
大约 3 年之前 回复
samuwoo
samuwoo 您说的没错,是不是因为数据格式是JSON,但是浏览器默认用解析xml的方法来解析了??
大约 3 年之前 回复
devmiao
devmiao   Ds   Rxr 2015.05.29 23:30

程序可以post方式调用,传附加的参数。浏览器直接请求是get。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
请求返回数据和浏览器显示数据不一致
服务器返回的数据,浏览器通过解析后可能出现差异
为何无返回的数据
<br />请叫高手,界面层this.textEdit_sex中为何无返回的数据?单步跟踪,看看strSql1语句<br />IM是一个综合性的软件,技术覆盖面非常多,如果你没有经验,要做一个正规的IM软件,会面临很多你无法解决的问题。简单的有数据库,复杂的则包括有你应该使用什么样的通讯协议?怎么样实现高性能高稳定性的服务器,可以连续 15 天程序不死,并且可以同时支持至少数千个的同时访问并发量,什么是拥塞控制协议?怎么样得到清晰的语音质量,并且能应付复杂的网络抖动等情况?以及怎么样实现语音降噪? 视频YU
移动端数据接口返回数据格式(上)
一、接口规则: 传输方式 为保证交易安全性,建议采用HTTPS传输 提交方式 采用HTTP协议中的方法提交 数据格式 提交和返回数据都为json格式 字符编码 统一采用UTF-8字符编码 签名算法 MD5 签名要求 请求和接收数据均需要校验签名,详细方法请参考安全规范-签名算法 二、状态码
LayUI数据接口返回实体封装
LayUI数据接口返回实体封装package cn.haitu.vo; /** * * @date 2017年12月28日 @author Weilong Liu */ public class LayUIDataTableVo { protected Integer code; protected String msg; protected Long count;
移动端数据接口返回数据格式(下)
api响应数据规范 单页数据 JSON 参考 { "meta":{ "code": 200, //结果码,int 型,必需。客户端应首先根据此项结果进行相应处理。 "message":"***" }, "data": { "***":"***", } } 示例 { "meta":{
浏览器 返回状态码汇总
浏览器 返回状态码汇总 1xx-信息提示 这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。  100 - 继续。  101 - 切换协议。   2xx - 成功  这类状态代码表明服务器成功地接受了客户端请求。  200 - 确定。客户端请求已成功。  201 - 已创建。  202 - 已接受。  203 - 非权威性信息。  2
微信浏览器返回无法解决
微信浏览器点击顶部微信的返回按钮的时候,返回上一级页面,但是任何资源均不重新加载,所以导致数据更新不及时。 可以用单页应用的形式来解决该问题。
js 函数无法返回ajax数据的问题
在做一个验证功能的时候,在js里遇到了一个问题。在js的函数里return 某个由ajax调用后台获取的值时,出现了同步、异步的问题。 //判断创建人是否一致 function validateUser(userId, zcgpc){ var type = 0;//为0,一致 $.ajax({ "url" : 'queryUserByCgpc', "method" : "POS
子窗体返回表中数据
子窗体返回表中数据
跨域请求 数据返回却无法执行回调函数的原因之一
由于公司项目的问题,导致跨域的情况比较多。既要考虑安全性问题又要解决跨域。只能从中做一些取舍。今天发现的问题是,前端已经获取了后台返回的CALLBACK函数,但是无论如何都不执行。这可把我急的,之前也写过一次跨域请求。现在调用同样写好的函数,却是一个能执行一个不能执行。多次比对发现返回的内容也没有错。最后发现原因是我把回调函数写在了$(function(){ //我把跨域请求也写在了这个匿名函数中