ajax 调用SpringBoot中的restful接口 两个ajax分别请求两个不同的接口,要使两个接口中的session是同一个(session共享)
前端代码:
<script src="jquery-3.4.1.min.js"></script>
<script type="text/javascript">
function getUser(){
$.ajax({
url:"http://192.168.1.103:8080/user/getUserInfo?userId=123asdf123",
type:"POST",
xhrFields:{withCredentials:true},
crossDomain: true,
success:function(data){
$.ajax({
url:"http://192.168.1.103:8080/user/userCertificate",
type:"GET",
xhrFields:{withCredentials:true},
crossDomain: true,
success:function(data){
alert("SUCCESS!");
},
error : function(e) {
//alert("出错");
alert(e.responseText);
},
})
},
error : function(e) {
},
})
}
getUser();
</script>
后端代码:
package com.honeycombtech.industrialdiagnosis.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @RestController @RequestMapping(value = {"/user"}) public class UserController { private Logger log = Logger.getLogger(UserController.class); @RequestMapping(value = {"/getUserInfo"},produces = {"application/json;charset=UTF-8"},method = RequestMethod.POST) public String getUserInfo(HttpServletRequest request,String userId){//,String userName HttpSession session = request.getSession(); session.setAttribute("userId",userId); if(userId!=null && !userId.equals("null")&& !userId.equals("")) { return "200"; } return "500"; } @RequestMapping(value = {"/userCertificate"},produces = {"application/json;charset=UTF-8"},method = RequestMethod.GET) public String userCertificate(HttpServletRequest request, HttpServletResponse response){ JSONArray jsonArray = new JSONArray(); Map<String, Object> map = new HashMap<String, Object>(); Object id = request.getSession().getAttribute("userId"); String userId = String.valueOf(id); map = diagnosticService.checkUserStatus(request,response,userId); jsonArray.add(map); return jsonArray.toString(); } }