问题描述
thinkphp部分:控制器:Home/index/sess输出:$data=json_encode($aaa);echo$data;前台已经输出{"aaa":"u4e00u4e00u7c7b","bbb":"u4e8cu4e00u7c7b","ccc":"u4e09u4e00u7c7b"},对应的URL路径http://127.0.0.1/home/sess?aaa=4&bbb=7&ccc=9请问用jquery怎么获取sess的json数据?网上的get,post,getJSON,Ajax都试着套了,不知道弄,好苦闷!!!求大神!!!
解决方案
解决方案二:
jQuery.getJSON("http://127.0.0.1/home/sess?aaa=4&bbb=7&ccc=9",function(data){alert(data)})
解决方案三:
eval
解决方案四:
把你前台得到的json字符串作为参数传到下面两种方法的任意一种:1.varobj=$.parseJSON(json_str);//需要导入jquery2.varobj=eval("("+json+")");
解决方案五:
varjson=eval('('+data+')');for(vari=0;i<json.length;i++){alert(json[i].customer_no);}
给分,楼主。
解决方案六:
回调函数可以实现获取后台数据,但数据需要eval处理一下
解决方案七:
引用4楼JAVA_LiuTe的回复:
varjson=eval('('+data+')');for(vari=0;i<json.length;i++){alert(json[i].customer_no);}给分,楼主。
后台是这样的:$data=json_encode($aaa);echo出来的已经输出{"aaa":"u4e00u4e00u7c7b","bbb":"u4e8cu4e00u7c7b","ccc":"u4e09u4e00u7c7b"}我需要的是能接收到$data,但是你这个没有,还是代码不完整?
解决方案八:
引用3楼wlwlwlwl015的回复:
把你前台得到的json字符串作为参数传到下面两种方法的任意一种:1.varobj=$.parseJSON(json_str);//需要导入jquery2.varobj=eval("("+json+")");
英雄,是前台根本接收不到后台传过来json,后台能输出{"aaa":"u4e00u4e00u7c7b","bbb":"u4e8cu4e00u7c7b","ccc":"u4e09u4e00u7c7b"},这说明后台代码没问题,问题前台为什么会收不到数据呢?
解决方案九:
引用5楼java_yinxuan的回复:
回调函数可以实现获取后台数据,但数据需要eval处理一下
麻烦给个代码吧,不知道怎么实现获取,为这个纠结四五天了
解决方案十:
真是抱歉,好久不上CSDN了,问题解决了吗?这是Servlet代码publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");JsonDaodao=newJsonDao();PrintWriterout=null;//StringjsonString="[{'province':'吉林省'},{'province':'辽宁省'},{'province':'山东省'}]";JSONArrayjsonarray=dao.testUser();StringjsonArray=jsonarray.toString();HttpSessionsession=request.getSession();session.setAttribute("jsonArray",jsonArray);try{out=response.getWriter();out.print(jsonArray);//out.flush();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}/*finally{out.close();}*/Stringname=request.getParameter("name");Stringpassword=request.getParameter("password");System.out.println("用户名:"+name+"密码:"+password);session.setAttribute("name",name);//request.getRequestDispatcher("success.jsp").forward(request,response);}
这是jsp页面<scripttype="text/javascript">$(document).ready(function(){$("#btnsub").click(function(){$.ajax({type:"POST",url:"JsonServlet",data:{'name':$("#name").val(),'password':$("#pwd").val()},success:function(result){alert("跳转成功!");varjson=eval(result);alert(json[0].userName);for(vari=0;i<json.length;i++){alert(json[i].userName);varpd=json[i].password;alert(json[i].password);alert(json[i].date.day);alert("传递密码:");//alert(json[i].province);}window.location="success.jsp";}});});});</script></head><body><h1>json测试示例</h1>用户名:<inputtype="text"id="name"><br/>密 码:<inputtype="password"id="pwd"><br/><inputtype="text"name="password"id="password"value=pd><br/><inputtype="button"value="提交"id="btnsub"></body>
解决方案十一:
vardataObj=eval("("+data+")");然后就可以像一般的js对象一样使用了....
解决方案十二:
这是js代码$(document).ready(function(){$("#btnsub").click(function(){$.ajax({type:"POST",url:"URL",data:{message:message},success:function(data){alert("跳转成功!");alert();}window.location="success.jsp";}});
这是java代码/*******判断余额*@paramrequest*@paramresponse*/privatevoiddoMessage(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException{Stringmessage=request.getParameter("message");response.setContentType("text/html;charset=utf-8");PrintWriterout=response.getWriter();message=message+"n"+"成功";ObjectMapperobjectMapper=JsonUtil.getInstance();out.write(objectMapper.writeValueAsString(message));out.close();}
解决方案十三:
$.ajax({type:"POST",//这里写POST或者GETurl:"some.php",//这里写你的地址data:"name=John&location=Boston",//参数们dataType:"json",success:function(msg){//用的时候直接点......//如:alert(msg.content);}});
解决方案十四:
引用9楼java_yinxuan的回复:
真是抱歉,好久不上CSDN了,问题解决了吗?这是Servlet代码publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");JsonDaodao=newJsonDao();PrintWriterout=null;//StringjsonString="[{'province':'吉林省'},{'province':'辽宁省'},{'province':'山东省'}]";JSONArrayjsonarray=dao.testUser();StringjsonArray=jsonarray.toString();HttpSessionsession=request.getSession();session.setAttribute("jsonArray",jsonArray);try{out=response.getWriter();out.print(jsonArray);//out.flush();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}/*finally{out.close();}*/Stringname=request.getParameter("name");Stringpassword=request.getParameter("password");System.out.println("用户名:"+name+"密码:"+password);session.setAttribute("name",name);//request.getRequestDispatcher("success.jsp").forward(request,response);}这是jsp页面<scripttype="text/javascript">$(document).ready(function(){$("#btnsub").click(function(){$.ajax({type:"POST",url:"JsonServlet",data:{'name':$("#name").val(),'password':$("#pwd").val()},success:function(result){alert("跳转成功!");varjson=eval(result);alert(json[0].userName);for(vari=0;i<json.length;i++){alert(json[i].userName);varpd=json[i].password;alert(json[i].password);alert(json[i].date.day);alert("传递密码:");//alert(json[i].province);}window.location="success.jsp";}});});});</script></head><body><h1>json测试示例</h1>用户名:<inputtype="text"id="name"><br/>密 码:<inputtype="password"id="pwd"><br/><inputtype="text"name="password"id="password"value=pd><br/><inputtype="button"value="提交"id="btnsub"></body>
+1