利用跨域请求来隐藏firbug控制台中的Ajax请求

时间:2023-12-12 22:39:50

本文链接:http://www.orlion.ml/63/

普通jquery的Ajax请求在控制台中是可见的,如下:

利用跨域请求来隐藏firbug控制台中的Ajax请求

而在利用jsonp(json with padding)进行Ajax跨域时,发现Ajax请求不会在控制台显示。

跨域代码如下:

前端代码:

 $.ajax({ 

     type : "get", //jquey不支持post方式跨域 

     async:false, 

     url : "http://www.cnblog.com", //跨域请求的URL 

     dataType : "jsonp", 

     //传递给后端,用以获得jsonp回调函数名的参数名(默认为:callback),以拼凑返回值 

     jsonp: "callback", 

     //自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名 

     callback:"testCallback", 

     //成功获取跨域服务器上的json数据后,会动态执行这个callback函数 

     success : function(json){  

         console.log(json);
}
});

后台:

$callback = $_GET['callback']; // 值为testCallback
echo $callback . "({"key":"value"})";

可以看到后台返回的实际是 testCallback(json字符串);而不是简单的json字符串。

另外JQuery还有一个函数jQuery.getJSON(url,data,success(data,status,xhr))也可以完成跨域请求。

现在看firebug控制台Ajax就不会显示了。如果想要在js文件中隐藏可以考虑加密js。