前端:
function doQuery(){
var sql = encodeURI($('#sql').val());
var first = $('#first').val();
var size = $('#size').val();
var url ='';
var data={
"sql":sql
,"first":first
,"size":size
};
$.ajax({
url: url,
type: 'post',
dataType:'jsonp',
//jsonp: 'callback',
//jsonpCallback:"cb",/*设置一个回调函数,名字随便取,和下面的函数里的名字相同就行*/
data: data,
success:function(result){
for(var i = 0;i< result.rows.length;i++){
//console.log(result.rows[i])
document.write(JSON.stringify(result.rows[i]))
document.write("\n\r")
}
},
error:function(data){
alert("获取失败,请重试!");
}
});
}
后端代码:
public String function( HttpServletRequest request, HttpServletResponse response) throws Exception{
String first = (String)request.getParameter("first");
String size = (String)request.getParameter("size");
String sql = URLDecoder.decode((String)request.getParameter("sql"),"UTF-8");
String jsonText = "-1";
String callback = request.getParameter("callback");//关键是这个,用callback包住结果
jsonText = "{\"status\": " + true
+", \"total\": " + list.size()
+ ", \"rows\":" + JSONArray.fromObject(list).toString() + "}";
jsonText=callback+"("+jsonText+")";
response.setCharacterEncoding("UTF-8");
response.setContentType("application/x-javascript;charset=UTF-8");
response.setHeader("Access-Control-Allow-Origin", "*");
PrintWriter out = response.getWriter();
out.println(jsonText);
out.flush();
return null;
}