jquery.ajax提交请求并返回json数据

   当我们在两个java项目之间互相调用接口时就会遇到跨域请求的问题,这次我开发系统的注册功能后台实现是调用的用户管理中心的接口,前台通过$.ajax请求并处理返回的json数据,其中注意一点就是如果出现中文的时候最好是转码传输到后台解码,要不然容易出现乱码问题。

前台jsp页面的代码

[javascript]  view plain copy
  1. "text/javascript">  
  2.   
  3. $(document).ready(function(){  
  4.     $("#submitBtn").click(function(){  
  5.         var flag = validateForm();//数据校验  
  6.         if (flag > 0) {  
  7.             alert("您的注册信息填写不正确,请查看错误信息!");  
  8.             return false;  
  9.         }  
  10.         if(!$("#checkbox_agree").is(':checked')){  
  11.             alert("您还没有查看“用户使用协议”,请先下载查看!");  
  12.             return false;  
  13.         }  
  14.           
  15.         var url = "${url }";//获取请求地址,最好是从项目配置文件读取,容易维护  
  16.         var userName = encodeURI($("#name").val());  
  17.         var userPwd = $("#pwd").val();  
  18.         var emailFalg = $("#email").val();  
  19.         var fName = encodeURI($("#fullName").val());//中文转码,防止乱码  
  20.         var orgCodeFlag = $("#orgCode").val();  
  21.         var data = {name:userName,pwd:userPwd,email:emailFalg,orgCode:orgCodeFlag,fullName:fName};  
  22.         $.ajax({  
  23.             type : "get",  
  24.             async : false,  //同步请求  
  25.             url : url,  
  26.             data : data,  
  27.             dataType : "jsonp"//跨域请求需要使用jsonp  
  28.             contentType: "application/x-www-form-urlencoded; charset=utf-8",   
  29.             timeout:1000,   
  30.             success:function(json){  
  31.                 alert(json.messages); //请求成功前台给出提示  
  32.                 $("#pwd").attr("value","");  
  33.                 $("#pwdAffirm").attr("value","");  
  34.                 $("#orgCode").attr("value","");  
  35.                 window.location.href="${ctx}/item/getItem"//跳转  
  36.             },  
  37.             error: function() {  
  38.                         alert("注册失败,请稍后再试!");  
  39.                 alert(XMLHttpRequest.status);  
  40.                         alert(XMLHttpRequest.readyState);  
  41.                         alert(textStatus);  
  42.                     }  
  43.         });  
  44.           
  45.     });  
  46. });  
  47.   
  48.   


注:后台java代码解码使用:

java.net.URLDecoder.decode(fullName,"utf-8");

 

你可能感兴趣的:(JAVA基础)