java后台跨域请求

maven引入jar

<!--跨域问题-->
<dependency>
	<groupId>commons-httpclient</groupId>
	<artifactId>commons-httpclient</artifactId>
	<version>3.1</version>
</dependency>

<dependency>
	<groupId>commons-logging</groupId>
	<artifactId>commons-logging</artifactId>
	<version>1.2</version>
</dependency>

后台跨域

以微信登录接口为例。

前端使用ajax传需要值到后台,baseModel是自定义的返回工具类,根据需要自定义返回data和msg。

/**
	 * 微信登录接口
	 * @param appid
	 * @param secret
	 * @param js_code
	 * @param grant_type
	 * @param baseModel
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping("/appLogin")
	@ResponseBody
	public BaseModel getDAGLInfo(String appid,String secret,String js_code,String grant_type,BaseModel baseModel,HttpServletRequest request) throws  Exception{
		HttpClient client = new HttpClient();
		String url ="https://api.weixin.qq.com/sns/jscode2session";

		PostMethod method = new PostMethod(url);
		client.getParams().setContentCharset("UTF-8");
		method.setRequestHeader("ContentType",
				"application/x-www-form-urlencoded;charset=UTF-8");
		try {
			//Long time = System.currentTimeMillis() / 1000L;
			NameValuePair[] data = {
					new NameValuePair("appid", appid),
					new NameValuePair("secret", secret),
					new NameValuePair("js_code", js_code),
					new NameValuePair("grant_type", grant_type),
			};
			method.setRequestBody(data);
			client.executeMethod(method);
			String submitResult = method.getResponseBodyAsString();
			baseModel.setData(JSONObject.parse(submitResult));
			return baseModel;
		}catch(Exception e){
			e.printStackTrace();
			baseModel.setMessage("数据接口请求异常,请联系管理员!");
			return baseModel;
		}
	}

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值