Jquery跨域jsonp

先说说json和jsonp到底是什么事;

1.json是一种非常方便灵活的字符串组合,用{}、[]包裹着;

2.json的数据类型有字符、数字、日期、布尔和空(null)

3.jsonp还是最近做一个Jquery跨域才遇到的,不过没有找到明确的定义,个人觉得和普通的ajax没什么特别大的区别,重要的就是在dataType,一般返回是json,可是到跨域的时,需要将json换成jsonp;查看url发生了变化,在url中添加了一个callback参数;

$.ajax({
				url: "http://10.10.140.9:8089/jxt/CompiereServlet?action_name=ajaxdict&action_para=1",
				method: "get",
				dataType:"jsonp",
	            jsonp:"jsoncallback",
				success:function(data, status) {
					$.each(data,function(i,n){
						obj.append("<option value='"+i+"'>"+n+"</option>");
					});
				}
			});

4.对于服务端,只需要获得jsoncallback

String jsoncallback = request.getParameter("jsoncallback");
response.getWriter.writer(jsoncallback+"("+returnJSONValue+")");

这样达到了异步请求json;

 感觉只是Jquery对jsonp封装了,因为ajax底层是通过xmlhttprequest请求的和jsonp没有任何关系…………

所以这还是2个东西;

相关推荐