Java为后台,前端ajax访问后台请求成功但是进入不到success,反而进入error

mac2022-06-30  87

html:

$.ajax({ type:"POST", url:"http://192.168.43.155:8080/Video/SelectAllUserServlet", async:true, data:{ }, error:function(){ alert("asd"); }, success:function(result){ alert("成功"); var tbody = $("#user_all").html(); var json = $.parseJSON(result); $.each(json, function(i,o) {// var videosName = o.videosName;// var videosId = o.videosId;// var videosAddress = o.videosAddress; tbody = tbody + ' <tr>'+ ' <td>Jacob</td>'+ '<td>53275531</td>'+ '<td>12 May 2017</td>'+ '<td>'+ '<button class="btn btn-gradient-success btn-rounded" type="button">修改</button>'+ '<button class="btn btn-gradient-warning btn-rounded" type="button">删除</button>'+ '</td>'+ '</tr>'; }); $("#user_all").html(tbody); $("#user_all").trigger("create"); } });

 

 

后台:

response.setContentType("text/html;charset=UTF-8"); UserDao userDao = new UserDao(); ArrayList al = new ArrayList(); al = userDao.selectRecord(); String jMark = ""; PrintWriter ps = response.getWriter(); jMark = JSONArray.toJSONString(al); System.out.println(jMark); ps.write(jMark); ps.flush(); ps.close();

 

 

 

通过浏览器查看,发现状态码是200,后台也有反应,但是就是不进入success,查了很久,有说前后台传输格式对不上,要更改dataType;还有说json格式不正确,所以导致ajax不认;

JSON格式总结下,详细的去json.org 查看。  1)键名称:用双引号 括起  2)字符串:用使用双引号 括起  3)数字,布尔类型不需要 使用双引号 括起

 

最后我在浏览器里找到了一条错误:

No 'Access-Control-Allow-Origin' header is present on the requested resource.'Ajax

看样子应该就是他了!!!

解决方式:

1、在java服务器端的filter或者servlet里面添加

response.setHeader("Access-Control-Allow-Origin", "*"); 2、如果请求的url是aspx页面,则需要在aspx页面中添加代码

Response.AddHeader("Access-Control-Allow-Origin", "*");3、如果请求的url是PHP页面

header("Access-Control-Allow-Origin: *");4、如果请求的url是静态的html页面,则需要在页面中添加meta标签代码:

<meta http-equiv="Access-Control-Allow-Origin" content="*" />“Access-Control-Allow-Origin”表示允许跨域访问,“*”表示允许所有来源进行跨域访问,这里也可以替换为特定的域名或ip。 很显然,这种方式对非网站拥有人员来说是不能做到的。而且此种方式很容易受到CSRF攻击。

如果还不行,就把这些都加上吧

// 指定允许其他域名访问 header('Access-Control-Allow-Origin:*'); // 响应类型 header('Access-Control-Allow-Methods:POST'); // 响应头设置 header('Access-Control-Allow-Headers:x-requested-with,content-type');

转载于:https://www.cnblogs.com/fujiye/p/9999917.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)