今天小编给大家分享一下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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。