zoukankan      html  css  js  c++  java
  • 利用跨域请求来隐藏firbug控制台中的Ajax请求

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

    普通jquery的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。

  • 相关阅读:
    Problem B. Harvest of Apples
    字典树的学习
    PACM Team
    2038: [2009国家集训队]小Z的袜子(hose)
    Naive Operations
    C程序设计语言练习 第三章
    数据结构C++实现-第一章 绪论
    排序
    操作系统设计与实现-第一章:序言
    进制转换
  • 原文地址:https://www.cnblogs.com/orlion/p/4876496.html
Copyright © 2011-2022 走看看