Jsonp跨域

Jsonp的代码应用:

  $.ajax({
            	url : "http://sso.taotao.com/user/check/ 

"+escape(pin)+"/1?r=" + Math.random(),
            	dataType : "jsonp",
            	success : function(data) {
                    checkpin = data?"1":"0";
                    if (data) {
                        validateSettings.succeed.run(option);
                        namestate = true;
                    }else {
                        validateSettings.error.run(option, "该用户名已占用!");
                        namestate = false;
                    }
                }
            });
	// 请求方法 GET
	// URL http://sso.taotao.com/user/check/{param}/{type 

}
/**
	 * 检查数据是否可用
	 * 
	 * @param param
	 * @param type
	 * @return
	 */
	@RequestMapping(value = "check/{param}/{type}", method = RequestMethod.GET)
	public ResponseEntity<String> check(HttpServletRequest request, @PathVariable String param,
			@PathVariable Integer type) {
		try {
			Boolean bool = this.userService.check(param, type);

			// 获取callback方法名
			String callback = request.getParameter("callback");

			// 判断callback是否为空
			String result = "";
			if (StringUtils.isNotBlank(callback)) {
				// 如果不为空表示使用jsonp调用
				// 使用方法名包裹原来的数据,位置成js数据
				result = callback + "(" + bool + ")";
			} else {
				// 如果为空表示直接调用,没有用到jsonp
				result = "" + bool;
			}

			// 查询数据,返回200
			return ResponseEntity.ok(result);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		// 服务器错误,返回500
		return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);

	}

jsonp请求形式默认给加上callback函数,经过后台处理,将callback函数返回并赋予参数值。。前台callback或success函数接收即可。


具体讲解可参考:http://www.cnblogs.com/chiangchou/p/jsonp.html

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mrlin6688/article/details/79948392
个人分类: ------【Web前端】
上一篇RestFul接口
下一篇@Autowired 与@Resource区别
想对作者说点什么? 我来说一句

ajax jsonp 跨域处理

2013年02月26日 596KB 下载

jsonp实现跨域

2015年02月10日 17.94MB 下载

没有更多推荐了,返回首页

关闭
关闭