ajax跨域請求jsp資料
阿新 • • 發佈:2019-01-22
最近的開發中,應工作需要,把java程式碼在了jsp上,而且還需要通過ajax跨域請求這個方法,並且返回資料。遇到了跨域請求 以及contentType錯誤,我把我的程式碼貼出,供大家參考。
html頁面使用jsonp方式跨域請求(注意:請求的網址?callback=?必須得加上,不懂得請自行搜尋jsonp介紹)
<title>獲取liferay登入資訊頁面</title>
</head>
<body>
<form id= "uploadForm" >
<input type="button" onclick="upload_file()" value="獲取使用者名稱和郵箱" style"width=100px;high=50px;margin:20px;">
</form>
</body>
<script src="lib/jquery/1.9.1/jquery.js"></script>
<script type="text/javascript">
function upload_file() {
$.getJSON("http://localhost:8080/ajaxSession.jsp?callback=?",function(data){
alert("name:" +data.name + "\n email:" + data.email);
});
}
</script>
</html>
jsp程式碼,注意 contentType=”application/x-javascript; charset=UTF-8”。。
//省略jar包
<%@ page language="java" contentType="application/x-javascript; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String callback = request .getParameter("callback");
PrintWriter pw = response.getWriter();
json = "{\"name\":\"zhang\",\"email\":\"123@com\"}";
pw.print(callback + "(" + json + ")");
pw.flush();
pw.close();
%>
僅供參考。