您好,登錄后才能下訂單哦!
今天小編給大家分享一下Ajax的數據類型實例分析的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
在 Ajax 的使用中,遇到了一個這樣的問題:界面開發出來是用在手機上使用的,但是數據是通過服務器提供的 API,在界
面上使用 JQuery 的 Ajax 來調用數據,開始怎樣也調用不到,而且不報毛病,后面現在瀏覽器測試好了,在放手機上加載本地的界面。
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/javascript");//這個要注意
PrintWriter out = response.getWriter();
String callback = request.getParameter("callback");
out.print(callback
+ "([{ name:'John',age:'19'},{ name:'joe',age:'20'}])");
System.out.println("callback = " + callback);
out.flush();
out.close();
}
$.ajax({
url:"http://localhost:8081/JsonpServer/JsonpServlet",
dataType:"jsonp",
jsonp:"callback",//傳遞給要求處理程序或頁面的,用以取得jsonp回調函數名的參數名(默許為:callback),需和服務器端一致
jsonpCallback:"person",//自定義的jsonp回調函數名稱,默許為jQuery自動生成的隨機函數名
success:function(json){
//alert(json[0].name);
}
});
// 相當于重寫success后履行的函數(自定義為person)
function person(json){
alert("I am person function...");
alert(json[0].name);
}
分析:
最開始沒有效果是 dataType:"json", 所以測試了很久都沒有出來, 后面修改成 dataType:"jsonp", 就能夠使用了。
緣由是 dataType 為 json 數據格式的時候,不能跨域訪問,jsonp 是跨域訪問的。
以上就是“Ajax的數據類型實例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。