今天在使用 volley 获取服务器数据的时候报了这样的错:com.android.volley.ParseError: end of input at character 0 of
查了网上一些方法都不奏效,心里估计也许是获取数据失败的问题。
程序是在下面的函数中向服务器申请数据的:
public GetTagTopicsRequest(String tagName, Response.Listener<Topic[]> listener, Response.ErrorListener errorListener) { super(RequestManager.API_TOPICS + "/" + tagName, listener, errorListener); }
这里粗心了,未经处理的 tagName 在传到服务器的中文会乱码,根据乱码查询数据库当然是获取不到数据的。所以改成下面那样,URL encode 一下再发送,问题就解决了。
public GetTagTopicsRequest(String tagName, Response.Listener<Topic[]> listener, Response.ErrorListener errorListener) { super(RequestManager.API_TOPICS + "/" + java.net.URLEncoder.encode(tagName), listener, errorListener); }
end of input at character 0 of 这种错误大部分都是这样,自己排查好传输的每一个步骤,就能解决问题。
现代魔法 推荐于 2013-02-27 10:23