个人简单记录积累学习
同源策略
- 同源指域名,协议,端口相同
JSONP--
JSON with Padding
2.
简单说明
3.
JSONP服务 ----Remote JSON service
4.
缺点
安全隐患比较多,第三方的脚本随意执行,可能对敏感数据上会有影响。
5.
jQuery的JSONP@L_673_2@
/*1.4.2版本代码 */ getJSON:function(url,data,callBACk){ return jQuery.get(url,callBACk,"json"); } get:function(url,data.callBACk,typE){ if(jQuery.isFunction(data)){ type =type || callBACk; callBACk = data; data = null; } return jQuery.ajax({ type:"GET",url:url,data:data,success:callBACk,dataType:type }); } ajax:function(origSELEcTings){ var s = jQuery.extend(true,{},jQuery.ajaxSetTings,origSELEcTings); var jsonp,status,callBACkContext = origSetTings &&origSetTings.context || s,type = s.type.toUpperCase(); // Handle JSONP Parameter CallBACks if ( s.dataType === "jsonp" ) { if ( type === "GET" ) { if ( !jsre.test( S.Url ) ) { S.Url += (rquery.test( S.Url ) ? "&" : "?") + (s.jsonp || "callBACk") + "=?"; } } else if ( !s.data || !jsre.test(s.data) ) { s.data = (s.data ? s.data + "&" : "") + (s.jsonp || "callBACk") + "=?"; } s.dataType = "json"; } }
//使用?作为回调函数名,而非真实的函数名,jQuery会自动生成的函数名。 jQuery.getJSON("*****?id=1&callBACk=?",function(data){ console.log("Data is"+data.id) });