前台:代码
<head>
<meta charset="UTF-8">
</head>
$.ajax({ url: "user/getSolrTest",//方法路径URL data: { name1:$('#solrtest').val() },//参数 dataType: 'json', type: 'POST', async: false,//默认异步调用 false:同步 success: function (data) { var retInfo = eval(data); //提交成功 if (retInfo == true) { alert("Data Loaded: " +JSON.stringify(data)); } }, error: function () { alert('提交数据失败!'); } })
后台代码:
@RequestMapping("/getSolrTest") @ResponseBody public SolrDocumentList getSolrTest(HttpServletRequest request, HttpServletResponse response) throws Exception { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); String name1=request.getParameter("name1").toString(); HttpSolrServer solrServer=new HttpSolrServer("http://localhost:8083/solr/shopdscore"); SolrQuery query=new SolrQuery(); query.setQuery("name1:*"+name1+"*"); query.setStart(0); query.setRows(10); QueryResponse queryResponse=solrServer.query(query); SolrDocumentList solrDocumentList=queryResponse.getResults(); return solrDocumentList; }
出现乱码,直到我在前台js中加上:
contentType:'application/x-www-form-urlencoded;charset=UTF-8',参数就好了。
$.ajax({
url: "user/getSolrTest",//方法路径URL
data: {
name1:$('#solrtest').val()
},//参数
dataType: 'json',
type: 'POST',
async: false,//默认异步调用 false:同步
contentType:'application/x-www-form-urlencoded;charset=UTF-8',
success: function (data) {
var retInfo = eval(data);
//提交成功
if (retInfo == true) {
alert("Data Loaded: " +JSON.stringify(data));
}
},
error: function () {
alert('提交数据失败!');
}
})