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方式请求,获取数据处理后,返回给前台。
分享到:
相关推荐
在JavaScript中,动态修改表格(Table)以及合并单元格是常见的需求,特别是在处理数据展示或者报表生成时。以下将详细介绍如何使用JS实现这些功能。 首先,要动态修改表格,我们需要获取表格元素。在HTML中,表格...
* 服务器端记录操作 * 实时流更新分层数据支持和树视图 * 可定制的外观 可定制的单元格内容 类似 Excel 的透视 * 状态持久性键盘导航 数据导出到 CSV 数据导出到 Excel * 行重新排序复制/粘贴列跨越固定行全宽行 ...
- **跨页面全局变量**: Cookie可以跨越一个域名下的多个网页使用,为跨页面的数据共享提供了可能。 - **数据持久化**: 存储在cookie中的数据可以在用户多次访问同一网站时保持不变,直到过期或被删除。 - **个性化...
* 服务器端记录操作 * 实时流更新分层数据支持和树视图 * 可定制的外观 可定制的单元格内容 类似 Excel 的透视 * 状态持久性键盘导航数据导出到 CSV 数据导出到 Excel * 行重新排序复制/粘贴列跨越固定行全宽行 ...
在JavaScript的xlsx库中,可以使用`XLSX.readFile`函数解析Excel,`SheetJS`提供了一些方法来处理合并信息。 转换过程如下: 1. **读取Excel文件**:使用合适的库读取Excel文件,将其内容转换为数据结构,如pandas...
JavaScript的moment.js库是一个很好的选择,与ASP.NET后端配合良好。 10. **时间操作的最佳实践** - 存储:数据库中存储UTC时间,减少时区转换的错误。 - 通信:JSON序列化使用ISO 8601格式。 - 显示:根据用户...
**正文** moment.js是一个非常流行的JavaScript库,专为处理日期和时间而设计。它提供了丰富的功能,包括日期解析、验证、格式化...无论是在简单的日志记录,还是在复杂的用户界面交互中,都能看到moment.js的身影。
考勤记录可能跨越不同月份甚至年份,因此在读取和处理数据时需要特别注意。例如,考勤记录可能分布在文件的不同工作表中,我们需要正确识别并读取这些数据。`xlrd`模块提供了访问Excel文件各个工作表和单元格的接口...
在JavaScript编程中,统计Table单元格的实际行列位置通常涉及到`rowSpan`和`colSpan`属性的使用。然而,有时我们可能需要避开这些属性,转而利用其他方法来获取单元格的位置信息,例如通过计算其`offsetLeft`值。...
这个组件可能包括HTML、CSS和JavaScript文件,用于创建用户界面,并通过Ajax或其他异步方式与后端服务器交互,获取相应的分页数据。在实际项目中,只需要引入这个组件并修改引用名称,就能轻松地在系统中应用百度...
JavaScript的主要数据类型及其分类 - **主要数据类型**: - `string`: 字符串 - `boolean`: 布尔值 - `number`: 数字 - **复合数据类型**: - `function`: 函数 - `object`: 对象 - **特殊数据类型**: - `...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在本系统中,JSON用于在前后端之间传递数据,如用户信息、试题内容、成绩等。 6. **Web Service** ...
8. **数据可视化**:利用图表和仪表盘展示网络状态,如使用D3.js或Echarts等JavaScript库进行前端数据可视化。 9. **脚本和自动化**:网络监控程序可能需要集成脚本语言,如Python或Perl,以便自动化执行某些任务,...
**Ajax无刷新聊天室详解** ...结合WebService,它能够跨越不同平台和语言,提供高效的数据交换,使得聊天室变得更加智能和便捷。这种技术在现代互联网应用中广泛应用,不仅提高了用户体验,还减轻了服务器的压力。
- **跨应用操作**:跨越不同的应用程序进行操作,例如在微信接收消息后自动回复,或者从浏览器获取信息并发送到其他应用。 - **API接口**:利用AutoJS提供的丰富API,可以访问设备的硬件信息,如GPS位置、网络状态等...
"js代码-tmp--数组中的逆序对-改"这个标题可能表示我们正在处理一个已经存在的JavaScript代码实现,该实现可能计算一个数组中的逆序对数量,但存在某些问题需要改进。这可能涉及到优化算法效率,修复错误,或者改进...
2. **安全性问题**:AJAX不能跨越同源策略,只能向同一域下的服务器发送请求。 3. **SEO难题**:搜索引擎爬虫可能无法抓取通过AJAX加载的内容。 4. **用户无法前进/后退**:默认情况下,使用AJAX加载的内容不会被...
总的来说,"分享道"功能的实现是一个跨越前端和后端的过程,涉及HTML、CSS、JavaScript、API接口、用户授权以及数据分析等多个环节。通过这一功能,产品能够扩大其在线影响力,增强用户的参与度和社交传播效果。对于...
15. JavaScript函数:Math.max()函数用于获取两个或多个数值中的最大值,因此2和4之间的较大值是4。 16. 数据库类型分类:根据数据模型,数据库可以分为多种类型,如关系型数据库、层次型数据库和网络型数据库等。 ...
利用JavaScript开发的游戏抓取工具,可以跨越网页游戏的接口限制,获取游戏状态、玩家行为、排行榜等信息,为数据分析、市场研究或者个人兴趣提供便利。 首先,我们要理解JavaScript在这个场景中的角色。JavaScript...