//回调函数名
var cb=‘jsonp_cb_’+fnSuffix;
// 将data转化成url字符串的形式
var param=url.indexOf(‘?’)==-1?‘?’:‘&’;
for(var key in data){
param+=key+‘=’+data[key]+‘&’;
}
//将需要回调的函数名传到后台
param+=‘cb=’+‘jsonp_cb.’+cb;
//创建一个script的标签
var scriptElement=document.createElement(‘script’);
//设置src
scriptElement.src=url+param;
//将script标签放到页面中
var head = document.getElementsByTagName(‘head’);
var scriptContainer = head ? head[0] : document.body;
scriptContainer.appendChild(scriptElement);
window[‘jsonp_cb’]={};
//创建回调函数
window[‘jsonp_cb’][cb] = function(res){
//调用回调函数
callback(res);
delete window[‘jsonp_cb’][cb];
//将此script元素删除
scriptContainer.removeChild(scriptElement);
}
}
function do_jsonp(){
var url=“http://192.168.56.1:8080/yszdServer/entry?method=test_jsonp”;
var data={‘a’:1,b:‘2’};
_doJsonP(url,data,function(text){
document.getElementById(“txt”).innerText=JSON.stringify(text);
});
}
后台java代码:
protected void doGet(HttpServletR 《大厂前端面试题解析+Web核心总结学习笔记+企业项目实战源码+最新高清讲解视频》无偿开源 徽信搜索公众号【编程进阶路】 equest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType(“text/html;charset=utf-8”);
resp.addHeader(“Access-Control-Allow-Origin”, “*”);
req.setCharacterEncoding(“utf-8”);
resp.setCharacterEncoding(“utf-8”);
String dataString = “”;
String callback = (String)req.getParameter(“cb”);
String a = (String)req.getParameter(“a”);