前端跨域问题常见解决方案
前端解决
- ajax 用jsonp解决。记住jsonp只能发起get请求。默认也是get请求
$(".class").change(function(e) {
var formData = new FormData();
formData.append('f', this.files[0]);
$.ajax({
url: "/img/upload.do",
method:'post',
data: formData,
dataType: "jsonp",
contentType: false,
processData: false,
cache: false,
success: function(data) {
}.bind(this),
error: function(xhr, status, err) {
alert("系统错误");
}.bind(this)
});
});
后端解决方案
Java服务端
/*
* 导入包:import javax.servlet.http.HttpServletResponse;
* 接口参数中定义:HttpServletResponse response
*/
response.setHeader("Access-Control-Allow-Origin", "http://www.domain1.com"); // 若有端口需写全(协议+域名+端口)
response.setHeader("Access-Control-Allow-Credentials", "true");