前端页面代码:
<script type="text/javascript" language="javascript">
function test(){
$.ajax({
url:"http://192.168.11.111:8080/coreapp/wcmsearch/gettravel.do",
type:"post",
data:"passCity=sa&jsoncallback=?",
dataType:"jsonp",
jsonp:"jsoncallback",
success:function(result){
var jsondata=eval(result);
$.each(jsondata,function(index){
});
}
});
}
</script>
其中 jsoncallback=? 是指jquery自动给jsoncallback生产参数值并传到后台,dataType属性值是"jsonp"。
后端代码:
public String getTravel(TravelInfo ti){
String jsoncallback=ti.getJsonCallBack();
List data=search.getData();
return jsoncallback+"("+JSONArray.fromObjec(data).toString()+")";
}
jsoncallback参数名是可以自定义的,只要后台获取到值,并保持jsonp中属性值是此参数名即可。
这样进行前后台编写,就可以实现跨域访问。