学习、阅读笔记――jsonP&Ajax

前端之家收集整理的这篇文章主要介绍了学习、阅读笔记――jsonP&Ajax前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一、jsonP

jsonP,客户端浏览器不允许跨域访问,当服务器的协议、地址、端口号有一个不同时,即为跨域。jsonP是json Padding的缩写,Padding可理解为后缀或者是填充。jsonP的重要特殊是具有一个回调函数,回调函数调用调用调用域服务的标记,callback运行在被调用域服务器上。jQuery支持jsonP,语法如下:

  1. jQuery.getJSON("http://www.yourdomain.com/jsonp/ticker?symbol=IBM&callback=?",function(data){
  2. alert("Symbol:"+data.symbol+",Price:"+data.price);
  3. });

?为回调函数名,默认为callback;

还可以使用Ajax实现,语法如下:

  1. $.ajax({
  2. url:"http://localhost:20002/MyService.ashx?callback=?",dataType:"jsonp",jsonpCallback:"person",success:function(data){
  3. alert(data.name+"isaa"+data.sex);
  4. }
  5. });

使用 JSONP 实现跨域通信,第 1 部分: 结合 JSONP 和 jQuery 快速构建强大的 mashup》还给出了servlet实现,如下:

  1. @Override
  2. protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)
  3. throwsServletException,IOException{
  4. StringjsonData=getDataAsJson(req.getParameter("symbol"));
  5. Stringoutput=req.getParameter("callback")+"("+jsonData+");";
  6.  
  7. resp.setContentType("text/javascript");
  8. PrintWriterout=resp.getWriter();
  9. out.println(output);
  10. //prints:jsonp1232617941775({"symbol":"IBM","price":"91.42"});
  11. }

另外两篇参考文章,分别是:

我的一篇博文《json接口格式实现》和《深入理解jsonP》,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等等。

  1. $.ajax({
  2. async:false,url:'../dependence/queryPost.action',success:function(result){
  3. varjobList=result.staffinfoVo.jobList;
  4. if(jobList!=null&&$("option",post).length<1){
  5. post.append('<optionvalue="">-请选择-</option>');
  6. $.each(jobList,function(i,item){
  7. if(item.active=="Y"){
  8. post.append('<optionvalue="'+item.jobCode+'">'+item.jobName+'</option>').val(val);
  9. }
  10. });
  11. }
  12. }
  13. });

参考:

各种AJAX方法的使用比较(1)

轻松掌握AJAX(jQuery)异步通信

猜你在找的Json相关文章