JQuery AJAX跨域提交参数、接收json数据
需求是a服务器下页面b.jsp需要调用b服务器的action CoureseInfoProvideAction.java,用了JQuery+ajax技术,返回json类型的数据:
b.jsp:
?
??
CoureseInfoProvideAction.java:
?
public String process() throws Exception {response.setContentType("text/xml;charset=UTF-8");response.setHeader("Cache-Control", "no-cache");response.addHeader("Access-Control-Allow-Origin", "*");response.addHeader("Access-Control-Allow-Headers", "x-requested-with");PrintWriter out = response.getWriter();if(StringUtil.isBlank(courseNumber)){Course course = courseService.getValidCourse(courseNumber);if(course!=null){StringBuilder sb = new StringBuilder();String courseName = course.getCourseName();sb.append("{");sb.append("\"");sb.append("courseName");sb.append("\"");sb.append(":");sb.append("\"");sb.append(courseName);sb.append("\"");Integer lang = course.getLang();sb.append(",");sb.append("\"");sb.append("lang");sb.append("\"");sb.append(":");sb.append("\"");sb.append(lang);sb.append("\"");sb.append("}");out.print(sb.toString());course = null;}else{out.print("0");}}return null;}?
在CoureseInfoProvideAction.java中增加了response对header的处理,用于对跨域提交参数的支持,在StringBuilder中把字符串组装成了json的格式,在页面便于解析、接收参数。
?
?