public static String do_post(String url, List<NameValuePair>name_value_pair) throws IOException { String body = "{}"DefaultHttpClient httpclient = new DefaultHttpClient()try { HttpPost httpost = new HttpPost(url)httpost.setEntity(new UrlEncodedFormEntity(name_value_pair, StandardCharsets.UTF_8))HttpResponse response = httpclient.execute(httpost)HttpEntity entity = response.getEntity()body = EntityUtils.toString(entity)} finally { httpclient.getConnectionManager().shutdown()} return body} public static String do_get(String url) throws ClientProtocolException, IOException { String body = "{}"DefaultHttpClient httpclient = new DefaultHttpClient()try { HttpGet httpget = new HttpGet(url)HttpResponse response = httpclient.execute(httpget)HttpEntity ent发处篡肺诂镀磋僧单吉ity = response.getEntity()body = EntityUtils.toString(entity)} finally { httpclient.getConnectionManager().shutdown()} return body}
出现这个问题其实写接口的同事的疏忽,没有将接口请求中的 Content-Type 设置正确。一般而言客户端需要接口返回JSON数据,下面的两种设置会出现不同的结果
这个类型,接口返回的数据中就会把特殊字符转义成HTML的形式
& 转义成 &amp
页面获取参数的时候会将 ampchannel 当成参数名,从而导致无法获取正确的值
这才是正确的设置,页面拿参数就不会出错了
刚发现的时候一直在查数据源...
多点web的知识还是有好处的...
简单点说,就是前端技术与后端技术沟通,根据业务定义交互接口,交互接口的的形式可能包含:1、后端将数据输出到HTML页面,在JS控制逻辑中需要访问数据时可以从HTML中取得。
2、定义前后端请求的接口,一般是AJAX接口,如果存在跨域问题或一些特殊的业务场景,可能也会使用JSONP或者其他方式,总之,不论是何种方式请求,目的都是动态的请求数据,然后根据返回数据刷新页面内容。返回数据的格式现在主流是使用JSON格式,但是也不排除一些特殊的业务场景需要是使用XML或其他格式的数据。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)