项目需集成某数终端备份系统的登陆接口,看了其接口文档无示例代码,自己摸索过程中遇到许多坑。
1.在IE中使用JQuery ajax提交http post请求
之前做过的其他项目集成接口皆使用的webservice,第一次遇到不同项目间用http post的接口。首先既然是post请求,就不能用浏览器地址栏输入地址的方式访问。
首先想到的是使用Jquery ajax提交请求。
$.ajax({
type:'POST',
url:'http://xxxxx',
......
})
该种方式在IE8下进行测试时,会因为跨域的问题,IE未经过安全设置不能正常访问。
需要手动配置IE设置,见:https://www.cnblogs.com/sunflowerGIS/p/6877804.html
配置后访问,仍报Bad Request错误,见:https://blog.youkuaiyun.com/zlp5201/article/details/44725879
前端跨域的相关资料:https://segmentfault.com/a/1190000011145364
由于上述方法需要客户手动配置浏览器,不可行。故采用“自己写代理服务,访问代理服务,代理服务请求服务获取数据再返回”的方式。
2.在JAVA代码中提交http post请求(推荐)
思路:在本地java中提交post请求给其他系统,解析返回的数据并返回给前台。
代码示例:https://www.cnblogs.com/guoyinli/p/7192839.html
该种方法由于前台访问的是本地的服务,客户端不需进行配置,对比而言更优。