1.架构分析
Taotao-rest这个工程查询数据库
Taotao-portal. 只是页面的展示
分类的数据库是从哪来的?
从数据库里查询出来
要去rest工程中调用
2. 跨域请求
分为3种情况:
域名相同,端口号不同:localhost:8082 localhost:8083
域名不同,端口号相同:172.168.112.13:8080 172.168.112.115:8080
域名不同,端口号也不同 172.168.112.13:8080 172.168.112.115:8081
3. 跨域请求的解决方案
webservice
httpclient
jsonp
数据需要从taotao-rest工程调用服务获得
4. 跨域问题
Js是不能跨域请求。出于安全考虑,js设计时不可以跨域。
修改taotao-portal工程下的lib-v1.js文件,前提已经把这个category.json放到了rest工程下
5. 什么是jsonp
Jsonp其实就是一个跨域解决方案。Js跨域请求数据是不可以的,但是js跨域请求js脚本是可以的。可以把数据封装成一个js语句,做一个方法的调用。跨域请求js脚本可以得到此脚本。得到js脚本之后会立即执行。可以把数据做为参数传递到方法中。就可以获得数据。从而解决跨域问题。
6. 修改文件
6.1把taotao-portal下的category.json文件复制到taotao-rest文件下
6.2 修改taotao-poral项目下的lib-v1.js文件
6.3 修改taotao-rest工程下的category.json文件
6.4 jsonp原理
浏览器在js请求中,是允许通过script标签的src跨域请求,可以在请求的结果中添加回调方法名,在请求页面中定义方法,既可获取到跨域请求的数据。