页面调用代码
$.ajax({
async:false,
type : 'post',
dataType:"jsonp",
url : "http://127.0.0.1:8080/query.do?action=clients",
success : function(data){
alert(data);
},
error:function(XMLHttpRequest, textStatus, errorThrown) {
alert("status:"+XMLHttpRequest.status
+ ", readyState:"+XMLHttpRequest.readyState
+ ", textStatus:"+textStatus);
}
});
设置参数:async:false,dataType:”jsonp”,可实现跨域访问,但返回一直是error函数,serverlet后台成功,使用火狐浏览器调试,发现发送的url为http://127.0.0.1:8080/query.do?action=clients&callback=jQuery21305029407908107708_1449541331780,发现多了一个callback参数,查阅资料,修改返回数据内容可成功访问,修改后台代码如下:
try{
result = String.format("%s(%s);", request.getParameter("callback"), "Hello wrold! ");
ServletOutputStream os = response.getOutputStream();
os.write(result.getBytes());
os.flush();
os.close();
} catch(Exception e) {
log.error(e.getMessage());
}