jquery跨域异步提交的时候,由于安全限制,会无法提交,可以使用jsonp的格式提交。
var params = $("#" + form_id).serialize(); // form序列化,转化后形成a=a1&b=b1这样的形式 params = decodeURIComponent(params, true); // 解码序列化 params = encodeURI(encodeURI(params)); // 再编码,到后台用 pa = java.net.URLDecoder.decode(pa , "UTF-8");这样便可以解决乱码问题 $.getJSON($("#" + form_id).attr("action") + '?callback=?', params, function (result) { if (result.textStatus == "success" && result.isSuccess == "true") { alert("提交成功!"); window.location.reload(); } else { alert(result.msg); } });
其他使用技巧:
serializeArray()方法
格式:var jsonData = $("#formID").serializeArray();
功能:将页面表单序列化成一个JSON结构的对象。注意不是JSON字符串。
比如,[{"name":"lihui"},{...}] 获取数据为 jsonData[0].name
$.param()方法,可以把json格式数据序列化成字符串形式
varobj={a:1,b:2}
vars=$.param(obj);
会形成a=1&b=2的形式
自定义方法:
$.fn.serializeObject = function() { var o = {}; var a = this.serializeArray(); $.each(a, function() { if (o[this.name]) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; };
相关推荐
asp.net jquery 跨域提交请求数据
JQuery跨域访问解决方案 JQuery
Jquery跨域访问Web服务的demo源码
JAVA调用外接设备(制卡机)---JQuery跨域,AJAX跨域问题
这是一份非常有用的Jquery跨域访问实例,里面提供了3种方法,前台后台都有涉及,希望对你们会有所帮助
Jquery跨域Json请求处理
jquery跨域调用,js跨域调用,jsonp,跨域调用
通过XMLHTTPRquest请求不同域上的数据,原来js跨域访问是后台有个处理路径“/test”的函数。下面给大家介绍jQuery跨域问题解决方案,有需要的小伙伴可以参考下
jQuery跨域问题
自己做的小例子,关于跨域调用。用的是jquery. 里面两个工程。A和B。用A调用B。 放在tomcat或myeclipse中就可以跑起来。以前做建行的项目。用到的。很实用。 两个工程可以放在不同的机器上。IP也不同。相当...
JQuery AJAX跨域提交参数、接收json数据.docx
所以我猜是跨域问题,马上就去google搜索了一下jquery跨域的解决,是用$.getJSON这个方法,但是我测试了许久,还是不行,继续找,还是没能找到。于是沉下心来,自己想:现在就是我可以通过那个远程的方法在浏览器中...
本文将给您介绍如何使用getJSON来实现异步跨域提交表单
VS2010环境,下载解压后可以。...跨域测试时: 1、浏览jQuery.CrossWcfService/CrossUserService.svc,以便打开WCF服务。 2、打开jQuery.CrossUI/AccUser.htm,打开后,单击页面按钮,效果出来了。
jquery调用不同服务器、不同地址下的wcf服务,解决了jquery的跨域调用问题
js + jquery + php跨域问题
jquery ajax json 跨域不解释,代码很简单 没几句话
ASP.NET配合jQuery解决跨域调用的问题
jquery跨域调用webservice,采用jsonp,在webservice返回端采用HttpContext.Current.Response.Write返回json格式。,回调函数返回执行结果。