ОК, я в тупике! IIS7 против моего JavaScript - PullRequest
0 голосов
/ 24 июня 2011

Я сделал несколько изменений в своем 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 голосов
/ 24 июня 2011

Ну, единственная опция, которая разобралась! Я никогда не хочу пройти через это снова! Мы удалили IIS и переустановили. Проблема отсортирована. Что за ночная кошмар! Спасибо всем, кто принял участие. Я действительно ценю это!

0 голосов
/ 04 июля 2011

только что это произошло в моей локальной среде разработки - win7 64-разрядная версия предприятия SP1 - IIS7 - VS2010 - javascript находится на старом классическом сайте, работающем через IIS7, а не на внутреннем сервере студии.

Возможная подсказка: никогда не имелэто происходило со мной, пока я не создал активный элемент управления x для сайта ...

сначала - что сработало : запустить CCLeaner над системой - все файлы cookie и очистить реестр - перезапустить и вздох наконец-то работает.

попробовал (все не удалось):

  • iisreset
  • обновление уязвимых файлов, запись предупреждений в код
  • перезапуск пулов приложений / остановка / запуск сайта
  • добавлены правила отсутствия кэширования для .asp, .js в IIS7
  • закрыть заново открыть студию, закрыть все перезагрузить компьютер.
  • удалить временные файлы C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Временные файлы ASP.NET
  • удалить IIS и переустановить IIS

Это был JavaScriptфайл, включенный в классические страницы ASP - так, где же системамне кеш js файлы мне интересно?пользователи / временный интернет или что-то?

0 голосов
/ 24 июня 2011

Похоже на проблему с кэшированием.

Можете ли вы сначала проверить, является ли она проблемой кеширования?Вы можете проверить код ответа HTTP для используемого вами js-файла (пользователь Firebug в Firefox, он должен быть отличен от 304 Not Modified).

Также убедитесь, что в содержимом передаваемого js-файла есть предупреждения или нет.

Можете ли вы публиковать здесь то, что видите после этого?

...