ajax jsonp案例,学习、阅读笔记——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);

});

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

还可以使用Ajax实现,语法如下:$.ajax({

url:"http://localhost:20002/MyService.ashx?callback=?",

dataType:"jsonp",

jsonpCallback:"person",

success:function(data){

alert(data.name + " is a a" + data.sex);

}

});@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

String jsonData = getDataAsJson(req.getParameter("symbol"));

String output = req.getParameter("callback") + "(" + jsonData + ");";

resp.setContentType("text/javascript");

PrintWriter out = resp.getWriter();

out.println(output);

// prints: jsonp1232617941775({"symbol" : "IBM", "price" : "91.42"});

}

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

我的一篇博文《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等等。$.ajax({

async: false,

url : '../dependence/queryPost.action',

success : function(result) {

var jobList = result.staffinfoVo.jobList;

if(jobList != null && $("option", post).length<1){

post.append('-请选择-');

$.each(jobList, function(i,item){

if(item.active=="Y"){

post.append(''+item.jobName+'').val(val);

}

});

}

}

});

参考:各种AJAX方法的使用比较(1)轻松掌握AJAX(jQuery)异步通信

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值