jquery Ajax 通过jsonp的方式跨域提交表单
2016-10-08 15:57
155 查看
Jquery Ajax可以通过jsonp的方式跨域提交表单,至于什么是跨域提交简单说就是你的客户端和服务端不在同一个域名下或端口号不同也可以叫做跨域。
前台代码:
后台代码:
注意:
1.通过jsonp方式跨域返回值不能为数据,其实为一段js代码,所以如果是springmvc,不能使用@ResponseBody注解。
2.返回值中要按照jsonp的格式,即callbackparam值加上“()”,括号中为json字符串
3.前台代码中,jsonp属性中callbackparam为回调函数名称变量名,jsonpCallback属性为回调函数名称的值。
前台代码:
$.ajax({ type : 'get', async: false, url : '${pageContext.request.contextPath}/clue/uploadForm', dataType : 'jsonp', data: { mydata : JSON.stringify(obj,fm), formId : formId }, jsonp: 'callbackparam', jsonpCallback:'success_jsonpCallback', success : function(json){ //alert(json.message); result = json.message; }, error : function(json,XMLResponse){ //alert(XMLResponse.responseText+XMLHttpRequest.status); result = "返回信息:" + json.message + "错误码:" + XMLHttpRequest.status; } });
后台代码:
/** * 提交form表单数据 * @param request * @param session * @return * @throws IOException */ @RequestMapping(value ="uploadForm") public void uploadForm(HttpServletRequest request, HttpServletResponse response,HttpSession session) throws IOException{ Map<String,Object> dataMap = new HashMap<String,Object>(); dataMap.put("message","success"); String callbackparam = request.getParameter("callbackparam"); response.setCharacterEncoding("utf-8"); JSONObject json = JSONObject.fromObject(dataMap); System.out.println(callbackparam+"("+ json.toString() + ")"); response.getWriter().print(callbackparam+"("+ json.toString() + ")"); }
注意:
1.通过jsonp方式跨域返回值不能为数据,其实为一段js代码,所以如果是springmvc,不能使用@ResponseBody注解。
2.返回值中要按照jsonp的格式,即callbackparam值加上“()”,括号中为json字符串
3.前台代码中,jsonp属性中callbackparam为回调函数名称变量名,jsonpCallback属性为回调函数名称的值。
相关文章推荐
- struts2/jsp 通过form表单方式或者js的方式提交请求,封装boolean值的问题
- jquery ajax提交表单数据的两种方式
- jquery ajax提交表单数据的两种方式
- jquery ajax方式直接提交整个表单
- 跨域访问:jquery ajax jsonp的实现方法(jsp和action方式)
- Jquery通过Ajax方式来提交Form表单的具体实现
- Jquery通过Ajax方式来提交Form表单的具体实现
- Jquery通过Ajax方式来提交Form表单的具体实现
- jquery ajax提交表单数据的两种方式
- jquery ajax提交表单数据的两种方式
- struts2——学习笔记2 通过form表单方式或者js的方式提交请求,封装boolean值的问题
- JQUERY AJAX 提交FORM表单方式
- jquery ajax方式直接提交整个表单
- jquery ajax提交表单数据的两种方式
- jquery ajax提交表单数据的两种方式
- 通过跨域提交表单的非法访问
- jquery ajax提交表单数据的两种方式-
- jQuery ajax异步跨域提交表单实例解析
- 通过curl模拟post和get方式提交的表单类
- Jquery通过Ajax方式来提交Form表单