js跨域 jsonp
ajax跨域请求
jQuery.ajax({ url : "http://manage.hcjdc.com/b2bmanage/turbine/action/statistic.FlowAjaxAction/eventsubmit_doSaveflow/doSaveflow", type : "get",//jsonp都是get请求 data : params, dataType:'jsonp', jsonp: "callback", jsonpCallback:"testCallBack",//设置回调函数 success : function(returnData) { alert("success"); } });
//回调函数---当然实际应用中大多数返回的json function testCallBack(callName){ alert(callName); }
java代码
response.setContentType("application/json;charset=GBK");
PrintWriter pw = response.getWriter();
//取得回调函数
String callback = request.getParameter("callback");
//业务处理-----
//返回值格式:callback(---中间一般是json---)
pw.print(callback+"(****)");
pw.close();
jsonp注意事项:
报错:Uncaught SyntaxError: Unexpected token :
为什么会报这样的错呢,jsonp一点儿问题都没有,问题出在哪儿呢
出在返回值上
返回值:
错误格式:{"success":"fail"}
正确的返回格式:callback({ "success":"yes",})
用callback包着,假如没有设置回调函数,可以返回({ "success":"yes",})
浙公网安备 33010602011771号