前后端分离之后的问题
2016-03-28 17:21
302 查看
1. 前台获取后端数据:
前台通过ajax请求访问接口,请求数据。例如post请求:
var courseUrl = "http://localhost:8080/future/course/findCourseByTeacherId"; var data = {"teacherId":"15101","other":"me too"}; $.post(courseUrl,data,function(result){ var json=$.parseJSON(result); var obj=json.data; for(var i=0;i<obj.length;i++){ var trs=""; spans+="<span id='update'>"+obj[i].courseName+"</span>"; } $("#courseList").append(spans); });
2. json的跨域问题
跨域问题可通过cors方法解决。在springmvc框架下,可新建一个CorsFitler类,对返回的response加上
此处为CorsFilter类
import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Component; @Component public class CorsFilter implements Filter { public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletResponse response = (HttpServletResponse) res; response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Control-Allow-Headers", "x-requested-with"); chain.doFilter(req, res); } public void init(FilterConfig filterConfig) {} public void destroy() {} }
在web.xml中加入Filter
<filter> <filter-name>corsFilter</filter-name> <filter-class>com.future.study.filter.CorsFilter</filter-class> </filter> <filter-mapping> <filter-name>corsFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
Access-Control-Allow-Origin
3. JQuery获取ajax请求中的数据
正在使用的Jquery的Post请求$.post("http://localhost:8080/future/class/findAllClassInfoByTeacherId", {teacherId:10151}, function(result){ var spans=""; var json=$.parseJSON(result); var obj=json.data; for(var i=0;i<obj.length;i++){ var trs=""; spans+="<option value='"+obj[i].id+"'>"+obj[i].classname+"</option>"; } $("#classList").append(spans); });
相关文章推荐
- ios 符号化 crash的方法
- 安装完Mysql,mysql -u root -p出现ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using pass
- Android中Activity和Service简单交互(通过广播机制)
- js进度条
- 向下之旅(十八):虚拟文件系统(二)
- Linux 通过 shell 脚本修改密码
- POJ 1442 (treap)
- CSS3的文字发光特效
- sass安装笔记
- guava底层原理
- 浅析android应用增量升级
- eclipse js验证错误
- yii2 随笔(七)依赖注入——(3)yii2的依赖注入
- Oozie coordinator 作业自定义的配置的一些方法
- SEO八大致命盲点
- 面试中的 10 大排序算法总结
- iOS粘滞球效果
- Sqlite全面学习(三)
- YARN的主要架构
- android开发--drawerlayout(v4)