js跨域请求实现
js代码
var url = zfba2url + "/fzyw/xzfy/smcl/autoUpdateByWS.action";
var data = {
"writid": writid,
"reportName": reportname
}; $.ajax({
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
type : "post",
url : url,
data : data,
cache : false, //默认值true
dataType : "jsonp",
jsonp: "callback", // 必须,返回的响应需要以此为前缀
success : function(json){
if (json.result != "success") {
alert("自动更新扫描材料失败!");
}
}
});
说明:
1. contentType和type的设置,解决中文编码问题;
2. jsonp用于指定一种约定,指定一个参数名,后台根据参数名获取的参数值,用作响应的前缀(参数值是jQuery自动生成的随机函数名);如某次的值为jsonp1449309226640
后台Java代码
/**
* 根据文书自动生成扫描材料.<br>
* 用于一期跨域调用,扫描材料存放在文书对应的案件.
* SINOBEST 待总结 跨域请求
* @param model
* @param callback 跨域请求者指定的jsonp
* @param writid 文书编号
* @param reportName 报表名称
* @return
*/
@RequestMapping("/autoUpdateByWS")
public @ResponseBody
String autoUpdateByWS(Model model, String callback, String writid,
String reportName) {
smclService.updateSMCL(writid, reportName);
String response = "${callback}({\"result\":\"success\"})"
.replaceFirst("\\$\\{callback\\}", callback);
return response;
}
说明:
响应返回的格式是callback(jsonContent),其中callback是使用的约定指定的参数的值,当前是jQuery自动生成的。jsonContent是json格式字符串,如{"result":"success"}
如某次的返回:jsonp1449309226640({"result":"success"})
后记
上述代码是在IE6客户端测试的,在高级的IE版本不工作,可能和IE的设置有关,项目中已经弃用。
js跨域请求实现的更多相关文章
- js跨域请求数据的3种常用的方法
由于js同源策略的影响,当在某一域名下请求其他域名,或者同一域名,不同端口下的url时,就会变成不被允许的跨域请求.那这个时候通常怎么解决呢,对此菜鸟光头我稍作了整理:1.JavaScript 在 ...
- js跨域请求方式 ---- JSONP原理解析
这篇文章主要介绍了js跨域请求的5中解决方式的相关资料,需要的朋友可以参考下 跨域请求数据解决方案主要有如下解决方法: 1 2 3 4 5 JSONP方式 表单POST方式 服务器代理 H ...
- 【JS跨域请求】Ajax跨域请求JSONP
前两天被问到ajax跨域如何解决,还真被问住了,光知道有个什么jsonp,迷迷糊糊的没有说上来.抱着有问题必须解决的态度,我看了许多资料,原来如此... 为何一直知道jsonp,但一直迷迷糊糊的不明白 ...
- JS跨域请求 JSONP B/S全代码
Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面.动态网页.web服务.WCF,只要是跨域请求,一律不准:Web页面上调用js文件时则不受是否跨域的影响(不仅如此,我们还发现凡是拥有 ...
- js跨域请求jsonp解决方案-最简单的小demo
这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...
- js跨域请求(jsonp)
jsonp是跨域请求的手段之一. jsonp的原理: 先来看看下面这段代码 <!DOCTYPE html> <html lang="en"> <hea ...
- js跨域请求的5中解决方式
跨域请求数据解决方案主要有如下解决方法: ? 1 2 3 4 5 JSONP方式 表单POST方式 服务器代理 Html5的XDomainRequest Flash request 分开说明: 一.J ...
- PhoneGap:JS跨域请求
PhoneGap开发,理论上好处多多.但因为javascript是其中的主角,并且是直接存放于手机,跟服务器数据交互,就会有一个跨域访问的问题. 当然,这个问题肯定有解决方案,不然的话,这种利用Pho ...
- 什么是JS跨域请求
这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...
随机推荐
- 【vijos】P1083 小白逛公园
[算法]线段树 [题解] 学自:https://vijos.org/p/1083/solution(wang_yanheng的回答) 回溯时维护一段区间的以下域: sumL:从左端点起连续区间的最大和 ...
- 随机森林(Random Forest)详解(转)
来源: Poll的笔记 cnblogs.com/maybe2030/p/4585705.html 1 什么是随机森林? 作为新兴起的.高度灵活的一种机器学习算法,随机森林(Random Fores ...
- 【Sqlite3】sqlite_sequence表(转)
sqlite_sequence表也是SQLite的系统表.该表用来保存其他表的RowID的最大值.数据库被创建时,sqlite_sequence表会被自动创建.该表包括两列.第一列为name,用来存储 ...
- nvidia tk1使用记录--基本环境搭建
前言 项目最开始是在X86+Nvidia(ubuntu+opencv+cuda)平台上实现,达到了期望性能,最近考虑将其移植到嵌入式平台,特别是最近nvidia出了tegra X1,基于和我们使用的g ...
- 安全测试===sqlmap(肆)转载
十八.杂项 1.使用简写 参数:-z 有些参数组合是被经常用到的,如“--batch --random-agent --ignore-proxy --technique=BEU”,这样写一大串很不好看 ...
- visual studio 个性化设置
尼马visual studio 的注释建设的真垃圾 Ctrl+K+C Ctrl+K+U, 通过工具->选项->环境->键盘->命令包含中搜索“注释选定内容”,分配成 Ctrl+ ...
- c++ ui 库
Dulib 比较流行的direct ui 界面框架 UIStone 据说金山词霸用着,查询资料甚少 DirectUI qq使用了据说,多学习学习吧 基于directUI的dulib不错 c盘没空间,运 ...
- Oracle 获取ddl语句
--得到所有表空间的ddl语句 SELECT DBMS_METADATA.GET_DDL('TABLESPACE', TS.tablespace_name)FROM DBA_TABLESPACES T ...
- Shell三剑客之sed命令
Sed简介 Sed是Stream Editor(流编辑器)缩写,是操作.过滤和转换文本内容的强大工具,常用功能有增删改查. Sed命令执行流程 Sed语法格式 Sed [option] ‘[匹配][处 ...
- PHP-5.3.27源码安装及nginx-fastcgi配置
源码安装php cat /etc/redhat-release uname -rm wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.c ...