`
haifengwuch
  • 浏览: 5217 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

js跨越获取数据问题记录

阅读更多
js的跨越问题,普通的ajax无法获取服务器返回的值。

  第一种解决方案,通过getson,后台配合方式,实现。
Java后台代码:
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String callback =req.getParameter("callback");//jquery生成的自定义函数名
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=utf-8");
PrintWriter out = resp.getWriter();
//返回json格式字符串,注意向前台输出的格式必须为 callback(json格式的字符串);
//callback是jquery生成的自定义函数名,返回这种格式,前台jquery代码会自动替换
//回调函数为此callback函数,从而达到跨域的效果,网上还有其他的跨域方案如:AJAJ
//原理应该也是和此方法一样。缺点是:返回数据量不宜过大,安全性差,建议重要数据不
//要通过这种形式传递。
out.print(callback+"({name:'111',sex:'222'});");
out.flush();
out.close();
}

Js前台调用代码:

$(function(){
//需要传的参数,可以不传。
var data= {param1:"param1",param2:"param2"};
//注意url一定要以callback=?的形式拼接,callback参数名可以自定义,
//但后台必须也要同步获取的参数名
var url = 'http://192.168.1.216:8080/DSFA/getUser?callback=?';
$.getJSON(url,data,function(backdata){
//其实后台返回的函数已经替换为此函数,所以backdata
//就是你从后台传过来的json对象。
alert(backdata); 
//alert(backdata.name);
});
})

第二种解决方式,原理和第一种方式差不多,通过js,<script>的src属性,请求服务器代码,生产js代码方式
js代码
<script src ="http://localhost:8080/json/getcode"> </script>
<script> alert(code);</script>

java后台代码
protected void doPost(HttpServletRequest  req, HttpServletResponse resp)
throws ServletException, IOException { 
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=utf-8");
PrintWriter out = resp.getWriter();
out.print("var code =123;");
out.flush();
out.close();
}


第三种解决方式,纯后台解决方式,就是想获取跨越的数据,可以用过自己的后台请求对方的后台获取数据,然后返回给前台,这种方式前台请求和以前的一样,这种方式对方后台基本不需要做额外开发。
  后台实现post或者get请求很多方式,如通过httpclient的,post或者get方式请求,获取数据处理后,返回给前台。

分享到:
评论

相关推荐

    JS实现动态修改table及合并单元格的方法示例

    在JavaScript中,动态修改表格(Table)以及合并单元格是常见的需求,特别是在处理数据展示或者报表生成时。以下将详细介绍如何使用JS实现这些功能。 首先,要动态修改表格,我们需要获取表格元素。在HTML中,表格...

    ag-Grid:支持Javascript / React / AngularJS / Web组件的高级数据网格/数据表-javascript

    * 服务器端记录操作 * 实时流更新分层数据支持和树视图 * 可定制的外观 可定制的单元格内容 类似 Excel 的透视 * 状态持久性键盘导航 数据导出到 CSV 数据导出到 Excel * 行重新排序复制/粘贴列跨越固定行全宽行 ...

    js中cookie的使用详细分析.docx

    - **跨页面全局变量**: Cookie可以跨越一个域名下的多个网页使用,为跨页面的数据共享提供了可能。 - **数据持久化**: 存储在cookie中的数据可以在用户多次访问同一网站时保持不变,直到过期或被删除。 - **个性化...

    支持 Javascript / React / AngularJS / Web Components 的高级数据网格 / 数据表

    * 服务器端记录操作 * 实时流更新分层数据支持和树视图 * 可定制的外观 可定制的单元格内容 类似 Excel 的透视 * 状态持久性键盘导航数据导出到 CSV 数据导出到 Excel * 行重新排序复制/粘贴列跨越固定行全宽行 ...

    excel转换为HTML 支持合并单元格

    在JavaScript的xlsx库中,可以使用`XLSX.readFile`函数解析Excel,`SheetJS`提供了一些方法来处理合并信息。 转换过程如下: 1. **读取Excel文件**:使用合适的库读取Excel文件,将其内容转换为数据结构,如pandas...

    asp.net关于时间的相关问题解决办法.......

    JavaScript的moment.js库是一个很好的选择,与ASP.NET后端配合良好。 10. **时间操作的最佳实践** - 存储:数据库中存储UTC时间,减少时区转换的错误。 - 通信:JSON序列化使用ISO 8601格式。 - 显示:根据用户...

    moment轻量级JavaScript库用于日期解析验证操作和格式化

    **正文** moment.js是一个非常流行的JavaScript库,专为处理日期和时间而设计。它提供了丰富的功能,包括日期解析、验证、格式化...无论是在简单的日志记录,还是在复杂的用户界面交互中,都能看到moment.js的身影。

    举例讲解Python的Tornado框架实现数据可视化的教程

    考勤记录可能跨越不同月份甚至年份,因此在读取和处理数据时需要特别注意。例如,考勤记录可能分布在文件的不同工作表中,我们需要正确识别并读取这些数据。`xlrd`模块提供了访问Excel文件各个工作表和单元格的接口...

    js统计Table单元格实际行列 不用rowSpan colSpan,而用offsetLeft

    在JavaScript编程中,统计Table单元格的实际行列位置通常涉及到`rowSpan`和`colSpan`属性的使用。然而,有时我们可能需要避开这些属性,转而利用其他方法来获取单元格的位置信息,例如通过计算其`offsetLeft`值。...

    百度模式分页组件文件夹

    这个组件可能包括HTML、CSS和JavaScript文件,用于创建用户界面,并通过Ajax或其他异步方式与后端服务器交互,获取相应的分页数据。在实际项目中,只需要引入这个组件并修改引用名称,就能轻松地在系统中应用百度...

    javascript面试题

    JavaScript的主要数据类型及其分类 - **主要数据类型**: - `string`: 字符串 - `boolean`: 布尔值 - `number`: 数字 - **复合数据类型**: - `function`: 函数 - `object`: 对象 - **特殊数据类型**: - `...

    《在线考试&培训系统》系统详细设计1

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在本系统中,JSON用于在前后端之间传递数据,如用户信息、试题内容、成绩等。 6. **Web Service** ...

    wangluo.rar_网络监控

    8. **数据可视化**:利用图表和仪表盘展示网络状态,如使用D3.js或Echarts等JavaScript库进行前端数据可视化。 9. **脚本和自动化**:网络监控程序可能需要集成脚本语言,如Python或Perl,以便自动化执行某些任务,...

    Ajax无刷新聊天室

    **Ajax无刷新聊天室详解** ...结合WebService,它能够跨越不同平台和语言,提供高效的数据交换,使得聊天室变得更加智能和便捷。这种技术在现代互联网应用中广泛应用,不仅提高了用户体验,还减轻了服务器的压力。

    autojs4.4.1免费版及配套打包插件

    - **跨应用操作**:跨越不同的应用程序进行操作,例如在微信接收消息后自动回复,或者从浏览器获取信息并发送到其他应用。 - **API接口**:利用AutoJS提供的丰富API,可以访问设备的硬件信息,如GPS位置、网络状态等...

    js代码-tmp--数组中的逆序对-改

    "js代码-tmp--数组中的逆序对-改"这个标题可能表示我们正在处理一个已经存在的JavaScript代码实现,该实现可能计算一个数组中的逆序对数量,但存在某些问题需要改进。这可能涉及到优化算法效率,修复错误,或者改进...

    AJAX事例

    2. **安全性问题**:AJAX不能跨越同源策略,只能向同一域下的服务器发送请求。 3. **SEO难题**:搜索引擎爬虫可能无法抓取通过AJAX加载的内容。 4. **用户无法前进/后退**:默认情况下,使用AJAX加载的内容不会被...

    分享道功能

    总的来说,"分享道"功能的实现是一个跨越前端和后端的过程,涉及HTML、CSS、JavaScript、API接口、用户授权以及数据分析等多个环节。通过这一功能,产品能够扩大其在线影响力,增强用户的参与度和社交传播效果。对于...

    2021-2022计算机二级等级考试试题及答案No.15827.docx

    15. JavaScript函数:Math.max()函数用于获取两个或多个数值中的最大值,因此2和4之间的较大值是4。 16. 数据库类型分类:根据数据模型,数据库可以分为多种类型,如关系型数据库、层次型数据库和网络型数据库等。 ...

    游戏抓取工具

    利用JavaScript开发的游戏抓取工具,可以跨越网页游戏的接口限制,获取游戏状态、玩家行为、排行榜等信息,为数据分析、市场研究或者个人兴趣提供便利。 首先,我们要理解JavaScript在这个场景中的角色。JavaScript...

Global site tag (gtag.js) - Google Analytics