大佬教程收集整理的这篇文章主要介绍了学习、阅读笔记――jsonP&Ajax,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
一、jsonP
jsonP,客户端浏览器不允许跨域访问,当服务器的协议、地址、端口号有一个不同时,即为跨域。jsonP是json Padding的缩写,Padding可理解为后缀或者是填充。jsonP的重要特殊是具有一个回调函数,回调函数是调用者调用被调用域服务的标记,callBACk运行在被调用域服务器上。jQuery支持jsonP,语法如下:
jQuery.getJSON("http://www.yourdomain.com/jsonp/ticker?symbol=IBM&callBACk=?",function(data){ alert("Symbol:"+data.symbol+",Price:"+data.pricE); });
还可以使用Ajax实现,语法如下:
$.ajax({ url:"http://localhost:20002/Myservice.ashx?callBACk=?",dataType:"jsonp",jsonpCallBACk:"person",success:function(data){ alert(data.name+"isaa"+data.seX); } });
《使用 JSONP 实现跨域通信,第 1 部分: 结合 JSONP 和 jQuery 快速构建强大的 mashup》还给出了servlet实现,如下:
@Override protectedvoiddoGet(httpServletrequestreq,httpServletResponseresp) throwsServletException,IOException{ StringjsonData=getDataAsJson(req.getParameter("symbol")); Stringoutput=req.getParameter("callBACk")+"("+jsonData+");"; resp.setContentType("text/javascript"); PrintWriterout=resp.getWriter(); out.println(output); //prints:jsonp1232617941775({"symbol":"IBM","price":"91.42"}); }
我的一篇博文《json接口格式实现》和《@L_419_2@》,jsonP的缺点是存在安全问题(客户端执行回调)和执行失败无提示。
二、Ajax
Ajax即为异步的js和xml,由html、css、js、xml、xmlHtpprequest等组成,除Xmlhttprequest以外,其他技术都是已熟的web标准技术。Ajax的优点有:1.异动请求;2.局部刷新;3.按需取数;缺点有:破坏浏览器的回退按钮行为;2.使用js作为驱动引擎,需考虑js兼容性和debug等。
Ajax的三个优点可以让页面更加丰富,交互更加自由,用户体现更佳,jQuery通过$.ajax提供了丰富的ajax功能,$.ajax的常用参数有data、type、success、beforesend、url、async等等。
$.ajax({ async:false,url:'../dependence/queryPost.action',success:function(result){ varjobList=result.staffinfoVo.jobList; if(jobList!=null&&$("option",post).length<1){ post.append('<optionvalue="">-请选择-</option>'); $.each(jobList,function(i,item){ if(item.active=="Y"){ post.append('<optionvalue="'+item.jobCode+'">'+item.jobName+'</option>').val(val); } }); } } });
参考:
以上是大佬教程为你收集整理的学习、阅读笔记――jsonP&Ajax全部内容,希望文章能够帮你解决学习、阅读笔记――jsonP&Ajax所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。