jquery如何接收后台的json数据

baidu_18523529 2014-08-13 12:11:17
thinkphp部分:
控制器:Home/index/sess
输出:$data = json_encode($aaa);
echo $data;
前台已经输出{"aaa":"\u4e00\u4e00\u7c7b","bbb":"\u4e8c\u4e00\u7c7b","ccc":"\u4e09\u4e00\u7c7b"} ,对应的URL路径http://127.0.0.1/home/sess?aaa=4&bbb=7&ccc=9
请问用jquery怎么获取sess的json数据?网上的get,post,getJSON,Ajax都试着套了,不知道弄,好苦闷!!!
求大神!!!
...全文
6239 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
你看咩啊 2017-04-24
  • 打赏
  • 举报
回复
这是php啊
大肥肥张 2017-04-21
  • 打赏
  • 举报
回复
楼主解决了吗?
陌城 2014-09-04
  • 打赏
  • 举报
回复
引用 9 楼 java_yinxuan 的回复:
真是抱歉,好久不上CSDN了,问题解决了吗? 这是Servlet代码
public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		 response.setContentType("text/html;charset=utf-8");
		 JsonDao dao=new JsonDao();
		 PrintWriter out=null;     
		// String jsonString="[{'province':'吉林省'},{'province':'辽宁省'},{'province':'山东省'}]";		
		 JSONArray jsonarray=dao.testUser();
		 String jsonArray=jsonarray.toString();
		 HttpSession session=request.getSession();
		 session.setAttribute("jsonArray", jsonArray);
 	    try {
				out=response.getWriter();
				out.print(jsonArray);
				//out.flush();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}/*finally{
				out.close();
			}*/
			String name=request.getParameter("name");
			String password=request.getParameter("password");
			System.out.println("用户名:"+name+"密码:"+password);
			session.setAttribute("name", name);
			//request.getRequestDispatcher("success.jsp").forward(request, response);			
 }    
这是jsp页面
<script type="text/javascript">
$(document).ready(function(){	    
	         $("#btnsub").click(function(){ 	  	                         
	             $.ajax({   
                  type: "POST",   
                  url: "JsonServlet",   
                  data: {'name':$("#name").val(),'password':$("#pwd").val()},
                  success: function(result) { 
                       alert("跳转成功!");    
                       var json=eval(result); 
                           alert(json[0].userName);                                                                                
                         for(var i=0;i<json.length;i++){
                             alert(json[i].userName);
                             var pd=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>
		用户名:
		<input type="text" id="name">
		<br />
		密  码:
		<input type="password" id="pwd">
		<br />
		<input type="text" name="password" id="password" value=pd><br/>
		<input type="button" value="提交" id="btnsub">
	</body>
+1
二孩子 2014-09-04
  • 打赏
  • 举报
回复
$.ajax({ type: "POST", //这里写POST或者GET url: "some.php",//这里写你的地址 data: "name=John&location=Boston",//参数们 dataType: "json", success: function(msg){ //用的时候直接点...... //如:alert(msg.content); } });
小龙1002 2014-08-25
  • 打赏
  • 举报
回复
这是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代码

/******
	 * 判断余额
	 * @param request
	 * @param response
	 */
	private void doMessage(HttpServletRequest request,
			HttpServletResponse response) throws IOException, ServletException {
		String message= request.getParameter("message");
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();

                                      message = message +"\n"+"成功";
		ObjectMapper objectMapper = JsonUtil.getInstance();
		out.write(objectMapper.writeValueAsString(message));
		out.close();
	}
abcwt112 2014-08-25
  • 打赏
  • 举报
回复
var dataObj = eval ("(" +data + ")"); 然后就可以像一般的js对象一样使用了....
java_yinxuan 2014-08-25
  • 打赏
  • 举报
回复
真是抱歉,好久不上CSDN了,问题解决了吗? 这是Servlet代码
public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		 response.setContentType("text/html;charset=utf-8");
		 JsonDao dao=new JsonDao();
		 PrintWriter out=null;     
		// String jsonString="[{'province':'吉林省'},{'province':'辽宁省'},{'province':'山东省'}]";		
		 JSONArray jsonarray=dao.testUser();
		 String jsonArray=jsonarray.toString();
		 HttpSession session=request.getSession();
		 session.setAttribute("jsonArray", jsonArray);
 	    try {
				out=response.getWriter();
				out.print(jsonArray);
				//out.flush();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}/*finally{
				out.close();
			}*/
			String name=request.getParameter("name");
			String password=request.getParameter("password");
			System.out.println("用户名:"+name+"密码:"+password);
			session.setAttribute("name", name);
			//request.getRequestDispatcher("success.jsp").forward(request, response);			
 }    
这是jsp页面
<script type="text/javascript">
$(document).ready(function(){	    
	         $("#btnsub").click(function(){ 	  	                         
	             $.ajax({   
                  type: "POST",   
                  url: "JsonServlet",   
                  data: {'name':$("#name").val(),'password':$("#pwd").val()},
                  success: function(result) { 
                       alert("跳转成功!");    
                       var json=eval(result); 
                           alert(json[0].userName);                                                                                
                         for(var i=0;i<json.length;i++){
                             alert(json[i].userName);
                             var pd=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>
		用户名:
		<input type="text" id="name">
		<br />
		密  码:
		<input type="password" id="pwd">
		<br />
		<input type="text" name="password" id="password" value=pd><br/>
		<input type="button" value="提交" id="btnsub">
	</body>
baidu_18523529 2014-08-14
  • 打赏
  • 举报
回复
引用 5 楼 java_yinxuan 的回复:
回调函数可以实现获取后台数据,但数据需要eval处理一下
麻烦给个代码吧,不知道怎么实现获取,为这个纠结四五天了
baidu_18523529 2014-08-14
  • 打赏
  • 举报
回复
引用 3 楼 wlwlwlwl015 的回复:
把你前台得到的json字符串作为参数传到下面两种方法的任意一种: 1.var obj = $.parseJSON(json_str); //需要导入jquery 2.var obj = eval ("(" + json + ")");
英雄,是前台根本接收不到后台传过来json, 后台能输出{"aaa":"\u4e00\u4e00\u7c7b","bbb":"\u4e8c\u4e00\u7c7b","ccc":"\u4e09\u4e00\u7c7b"},这说明后台代码没问题,问题前台为什么会收不到数据呢?
baidu_18523529 2014-08-14
  • 打赏
  • 举报
回复
引用 4 楼 JAVA_LiuTe 的回复:

	        	var json=eval('(' + data + ')');
	        	for(var i=0;i<json.length;i++){
	        		alert(json[i].customer_no);
	        	}
给分,楼主。
后台是这样的:$data = json_encode($aaa); echo出来的已经输出{"aaa":"\u4e00\u4e00\u7c7b","bbb":"\u4e8c\u4e00\u7c7b","ccc":"\u4e09\u4e00\u7c7b"} 我需要的是能接收到$data ,但是你这个没有,还是代码不完整?
百里马 2014-08-13
  • 打赏
  • 举报
回复

jQuery.getJSON("http://127.0.0.1/home/sess?aaa=4&bbb=7&ccc=9", function(data){
     alert(data)
} )
  • 打赏
  • 举报
回复

	        	var json=eval('(' + data + ')');
	        	for(var i=0;i<json.length;i++){
	        		alert(json[i].customer_no);
	        	}
给分,楼主。
小灯光环 2014-08-13
  • 打赏
  • 举报
回复
把你前台得到的json字符串作为参数传到下面两种方法的任意一种: 1.var obj = $.parseJSON(json_str); //需要导入jquery 2.var obj = eval ("(" + json + ")");
不是太高的手 2014-08-13
  • 打赏
  • 举报
回复
eval
java_yinxuan 2014-08-13
  • 打赏
  • 举报
回复
回调函数可以实现获取后台数据,但数据需要eval处理一下

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧