json请求跨域报错

jquery-2.1.1.min.js:4 GET http://localhost:8082/scw-restapi/auth/upload?[object%20FormData] 500 (Internal Server Error)
send @ jquery-2.1.1.min.js:4
ajax @ jquery-2.1.1.min.js:4
(anonymous) @ authpage.html?accttype=个体工商户:167
dispatch @ jquery-2.1.1.min.js:3
r.handle @ jquery-2.1.1.min.js:3
authpage.html?accttype=个体工商户:1 Access to XMLHttpRequest at 'http://localhost:8082/scw-restapi/auth/upload?[object%20FormData]' from origin 'http://localhost:8081' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

原因:跨域请求造成的原因;我访问的数据使用的方法与当前js里面的方法命名一样会把我的数据填充到这个方法内
解决办法:
1).jsonp:代表发起跨域请求;利用浏览器对于script,img,href没有跨域限制;
服务器不能返回json数据,返回一个类似方法调用的格式,将交给浏览器的数据作为这个方法的参数;abc(json) 浏览器正巧有这个方法名的方法,每次一返回相当于是对这个方法的调用;方法的参数就是数据;
1.1).$.get(url?callback=?)
callback=? jquery随机搞一个方法名 作为回调函数
服务器:获取到callback的值,把数据夹里面写出去
2).服务器端进行跨域设置;浏览器发数据的时候加上请求头告诉浏览器要跨域;
服务器加上响应头,说谁能跨域?(告诉浏览器不要限制那些地址ajax请求);
在springmvc.xml中添加下面代码

  <!-- 在spring配置文件中指定跨域   mvc:cors:指定跨域  -->
      <mvc:cors>
         <!--所有请求都可以进行跨越请求  ->
        <mvc:mapping path="/*"/>
      </mvc:cors>

重新发布项目运行成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值