加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ajax的数据类型

发布时间:2020-12-16 02:05:45 所属栏目:百科 来源:网络整理
导读:前面在Ajax的使用中,遇到了一个这样的问题:界面开发出来是用在手机上使用的,然而数据是通过服务器提供的API,在界 面上使用JQuery的Ajax来调用数据,开始怎么也调用不到,而且不报错误,后面现在浏览器测试好了,在放手机上加载本地的面。 1、服务器关键

前面在Ajax的使用中,遇到了一个这样的问题:界面开发出来是用在手机上使用的,然而数据是通过服务器提供的API,在界

面上使用JQuery的Ajax来调用数据,开始怎么也调用不到,而且不报错误,后面现在浏览器测试好了,在放手机上加载本地的面。


1、服务器关键代码如下:

/**
*@seeHttpServlet#doGet(HttpServletRequestrequest,HttpServletResponse
*response)
*/
protectedvoiddoGet(HttpServletRequestrequest,
HttpServletResponseresponse)throwsServletException,IOException{
response.setContentType("text/javascript");//这个要注意
PrintWriterout=response.getWriter();
Stringcallback=request.getParameter("callback");
out.print(callback
+"([{name:'John',age:'19'},{name:'joe',age:'20'}])");
System.out.println("callback="+callback);
out.flush();
out.close();
}

2、界面关键代码;
$.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)
functionperson(json){
alert("Iampersonfunction...");
alert(json[0].name);
}

分析:
最开始没有效果是 dataType:"json",所以测试了很久都没有出来,后面修改成 dataType:"jsonp", 就可以使用了。原因是 dataType 为 json 数据格式的时候,不能跨域访问,jsonp 是跨域访问的。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读