返回信息流我用的ext.ajax传送一个数据到后台
用servlet进行数据库查询,查询后组成字符串str
然后将str传至前台的js中
我从js向servlet里传数据没有问题
可是传回数据str时,前台接收不到,一直显示success是false,responseText是undefined
js代码:
handler: function(grid, rowIndex, colIndex) {
//获取被操作的数据记录
var rec = grid.getStore().getAt(rowIndex);
var familyId = rec.get('familyId');
var G_userName = rec.get('user');
var requestConfig = {
url :'Usermsg',//请求的服务器地址
params:{userName:G_userName},
dataType:"json",
callback : function(options,success,response){//回调函数
var msg = ["请求是否成功:",success,"\n",
"服务器返回值:",response.responseText
];
alert(msg.join(''));
}
}
Ext.Ajax.request(requestConfig);//发送请求
servlet代码:
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.hibernate.Query;
import org.hibernate.Session;
import util.HibernateUtil;
import com.beans.User;
public class Usermsg extends HttpServlet {
/**
* Constructor of the object.
*/
public Usermsg() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//
response.setCharacterEncoding("UTF-8");
System.out.println("++++++++++++++++++++"+request.getParameter("userName"));
PrintWriter out = response.getWriter();
//查询数据库
Session session = HibernateUtil.getSessionFactory().openSession();
String hql = "from User where UserName = ?";
Query query = session.createQuery(hql);
query.setParameter(0, request.getParameter("userName"));
User G_user=(User) query.uniqueResult();
Integer G_userId=G_user.getUserID();
Integer G_userprovince=null;
if(G_user.getProvinceId()!=null){
G_userprovince=G_user.getProvinceId().getProvinceId();
}
Integer G_usercounty=null;
if(G_user.getCountyId()!=null){
G_usercounty=G_user.getCountyId().getCountyId();
}
//拼字符串
String str = new String();
str = "{success:true,data:{G_userId:'"+G_userId+"',G_userprovince:'"+G_userprovince+"',G_usercounty:'"+G_usercounty+"'}}";
// JSONObject obj = new JSONObject();
// obj=JSONObject.fromObject(str);
// System.out.println("obj:" +obj.toString()+"mmmmmmmmmmmmmmm");
System.out.println("str:" +str+"mmmmmmmmmmmmmmm");
response.getWriter().write(str);
session.close();
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
这是一条镜像帖。来源:北邮人论坛 / java / #39679同步于 2015/4/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
请懂ExtJs的大神帮忙,前后台传送数据问题
chenheng1989
2015/4/2镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复