JS
ajax跨域
介绍:
ajax跨域访问是一个老问题了,解决方法很多,比较常用的是JSONP方法,JSONP方法是一种非官方方法,而且这种方法只支持GET方式,不如POST方式安全。
即使使用jquery的jsonp方法,type设为POST,也会自动变为GET。
解决:
1.通过设置Access-Control-Allow-Origin来实现跨域访问 response.setHeader("Access-Control-Allow-Origin", "*");
2 通过jsonp方式
js代码
function showData (data) { console.info("调用showData"); alert(data.success); } $.ajax({ url: "http://localhost:9090/student", type: "GET", dataType: "jsonp", //指定服务器返回的数据类型 jsonpCallback: "showData", //指定回调函数名称 success: function (data) { console.info("调用success"); } });
服务端代码
response.setContentType("text/plain;charset=UTF-8"); response.setCharacterEncoding("UTF-8"); String callback = request.getParameter("callback"); String data = "{\"success\":" + "true}"; String result = callback + "(" + data + ")"; response.getWriter().write(result);