您的位置:首页 > Web前端 > JavaScript

通过jsonp实现跨域

2017-03-21 09:39 267 查看
1.通过jsonp的方式实现

functionidcheck(){

var requestUrl = “http://192.168.1.130:8084/solution/getJsonp“;

$.ajax({
url:requestUrl,
type: "get",
async: false,
data: { name: 'test',testphone:'123122131'},
dataType: "jsonp",
jsonp: "callbackparam", //服务端用于接收callback调用的function名的参数
jsonpCallback: "success_jsonpCallback", //callback的function名称,服务端会把名称和data一起传递回来
success: function(json) {
/*alert(json);*/
/*var criterionitem = jQuery.parseJSON(json.responseText);*/
var con = json;

console.log(json);
/*console.log(con.contacter);
console.log(con.contacterPhone);*/

},
error: function(){alert('Error');}
});


}

后台springmvc Controller

1.将返回值写入到response中

@RequestMapping(“/get”)

@ResponseBody

public void get(HttpServletRequest req,HttpServletResponse res) {

res.setContentType(“text/plain”);

String callbackFunName =req.getParameter(“callbackparam”);//得到js函数名称

try {

res.getWriter().write(callbackFunName + “([ { name:\”John\”}])”); //返回jsonp数据

} catch (IOException e) {

e.printStackTrace();

}

}

2.将返回值设置成json对象返回
@RequestMapping("/getJsonp")
@ResponseBody
public JSONPObject getJsonp(String callbackparam,String name,String phone) throws AppBusinessException{
Company company=new Company();
company.setContacter("nsns");
company.setContacterPhone("121211311");
Solution solution = new Solution();
return new JSONPObject(callbackparam, solutionBiz.selectSolutionByPage(solution));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: