标签:
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
/** * 根据文书自动生成扫描材料.<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的设置有关,项目中已经弃用。
标签:
原文地址:http://www.cnblogs.com/ywjy/p/5045062.html