好吧我很难过! IIS7 vs我的javascript

时间:2011-06-23 22:08:10

标签: javascript iis-7 cache-control

我对我的javascript(使用jquery ajax get)进行了一些更改。我所做的只是添加警报以查看发送的内容。因此警报向我展示了我想要看到的内容,并将其从脚本中删除。

但现在无论我做什么,它都会不停地弹出警报。它某处似乎被缓存了。我清除了浏览器缓存。我甚至进入了一个不同的系统,它仍然弹出。当我删除所有代码时,我只留下一个空的.js文件,这很好。但是当我把代码放回来的那一刻它就开始再次发出警报。

我双倍重复,双倍检查再次检查。我删除了我的1个警告声明。

我该怎么办?谢谢。

(function($){$.cabrowserTest=function(a,z){var u='unknown',x='X',m=function(r,h){for(var i=0;i<h.length;i=i+1){r=r.replace(h[i][0],h[i][1]);}return r;},c=function(i,a,b,c){var r={name:m((a.exec(i)||[u,u])[1],b)};r[r.name]=true;r.version=(c.exec(i)||[x,x,x,x])[3];if(r.name.match(/safari/)&&r.version>400){r.version='2.0';}if(r.name==='presto'){r.version=($.cabrowser.version>9.27)?'futhark':'linear_b';}r.versionNumber=parseFloat(r.version,10)||0;r.versionX=(r.version!==x)?(r.version+'').substr(0,1):x;r.className=r.name+r.versionX;return r;};a=(a.match(/Opera|Navigator|Minefield|KHTML|Chrome/)?m(a,[[/(Firefox|MSIE|KHTML,\slike\sGecko|Konqueror)/,''],['Chrome Safari','Chrome'],['KHTML','Konqueror'],['Minefield','Firefox'],['Navigator','Netscape']]):a).toLowerCase();$.cabrowser=$.extend((!z)?$.cabrowser:{},c(a,/(camino|chrome|firefox|netscape|konqueror|lynx|msie|opera|safari)/,[],/(camino|chrome|firefox|netscape|netscape6|opera|version|konqueror|lynx|msie|safari)(\/|\s)([a-z0-9\.\+]*?)(\;|dev|rel|\s|$)/));$.layout=c(a,/(gecko|konqueror|msie|opera|webkit)/,[['konqueror','khtml'],['msie','trident'],['opera','presto']],/(applewebkit|rv|konqueror|msie)(\:|\/|\s)([a-z0-9\.]*?)(\;|\)|\s)/);$.os={name:(/(win|mac|linux|sunos|solaris|iphone)/.exec(navigator.platform.toLowerCase())||[u])[0].replace('sunos','solaris')};if(!z){$('html').addClass([$.os.name,$.cabrowser.name,$.cabrowser.className,$.layout.name,$.layout.className].join(' '));}};$.cabrowserTest(navigator.userAgent);})(jQuery);

var caHref = window.location.href;
var numRand=0;

function pProcess()
{
    var pname = "";
    var phref = "";
    var pqty  = "";
    var pcip  = "";
    var pcit  = "";
    var custa = "";
    var custb = "";
    var custo = "";
    var prod  = "";
    var custd = ""; 

    var caSURL = "https://"+caHref.substring(caHref.indexOf("/",0)+2,caHref.indexOf("/",7));

    $.ajaxSettings.async    = false;
    $.ajaxSettings.cache    = false;    

    function handle(table) {
        custa = '&abanurl='+caHref;
        custb = '&browser='+escape($.cabrowser.name+' '+$.cabrowser.version);
        custo = '&os='+$.os.name;   
        custd = 'custfname='+escape(CustFName)+'&custlname='+escape(CustLName)+'&custemail='+CustEmail;    

        table.find('tr').each(function() {                  
            pname = $(this).find('.PName a:first').text();
            phref = $(this).find('.PName a:first').attr('href');
            pqty  = $(this).find('.Quantity input:first').val();
            pcip  = $(this).find('.IndividualP').text();
            pcit  = $(this).find('.TotalP').text();         

            prod+= '&pName='+escape($.trim(pname))+'&purl='+escape($.trim(phref))+'&pqty='+$.trim(pqty)+'&pcip='+$.trim(pcip)+'&pcit='+$.trim(pcit);            
            return false;
        });

        if (prod != "") {
            CrossDomain();
            $.get('https://www.SOMEWEBSITE.com/default.asp?'+custd+prod+custa+custb+custo+'&rnd='+numRand, function(){return false;});
        }       

    }        

    if (caHref.search('finish.php')==-1)
    {
        var table = $('<table/>');
        table.load('/mypage.php?Check=1 .Contents tbody', function(){handle(table);});
    } else if (caHref.search('finish.php')>-1) {
        CrossDomain();  
        $.get('https://www.SOMEWEBSITE.com/cart/?custemail='+CEmail+'&fin=1&rnd='+numRand, function(){return false;});      
    } 

    if (prod=="" && caHref.search('finish.php')==-1)
    {
        CrossDomain();
        $.get('https://www.SOMEWEBSITE.com/default.asp?'+custd+custa+custb+custo+'&rnd='+numRand, function(){return false;});
    }
}; 

if ( $.cookie("YouAreLogin")!=null && caHref.search('Check')==-1 )
{

    $(document).ready(function() {    
        $('#frm input[type="image"]').click(function () { 
            $.get('https://www.SOMEWEBSITE.com/mypage.asp?product='+caHref+'&rnd='+numRand, function(){return false;});         
        });
    });

    pProcess(); 

}


function CrossDomain()
{
    $.ajaxSettings.crossDomain = true;
    $.ajaxSettings.timeout     = 5000;
    $.ajaxSettings.jsonp       = false;
    $.ajaxSettings.dataType    = "jsonp";

    numRand = Math.floor(Math.random()*9999999) + parseFloat(1000);
}

我添加了numRand以查看是否可行。我所取代的网站的链接,因为它不是傀儡知识。

3 个答案:

答案 0 :(得分:0)

看起来像是一个缓存问题。

您可以首先检查以确定它是否是缓存问题。您可以检查您正在使用的js文件的HTTP响应代码(Firefox中的用户Firebug,它应该不是304 Not Modified)。

同时检查以确保传输的js文件的内容是否包含警报。

你可以在这里发回你看到的内容吗?

答案 1 :(得分:0)

只剩下选择它的选项了!我再也不想经历这个了!我们卸载了IIS并重新安装。问题排序。真是个蠢蛋!感谢所有参与其中的人。我真的很感激!

答案 2 :(得分:0)

刚刚在我的本地开发环境中发生这种情况 - win7 64位企业版SP1 - IIS7 - VS2010 - javascript位于通过IIS7而非工作室内部服务器运行的旧经典网站中。

可能的线索:在我为网站创建一个有效的x控件之前,我从未遇到过这种情况......

首先 - 有效的方法:在系统上运行CCLeaner - 所有cookie和注册表清理 - 重启并叹息终于正常工作。

尝试过(全部失败):

  • IISRESET
  • 更新受影响的文件,将警报写入代码
  • 回收app pool / stop / start site
  • 为IIS7中的.asp,.js添加了无缓存规则
  • 关闭重新打开工作室,关闭所有重启电脑。
  • 删除临时文件C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Files
  • 卸载IIS并重新安装IIS

这是经典asp页面包含的javascript文件 - 所以我想知道系统缓存js文件的位置在哪里?用户/临时互联网还是什么?