2011-02-01 9 views
3

Использование Uploadify и JGrowl комбо:Javascript прекращает работу без сообщения об ошибке

<link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/jgrowl.css" /> 
<script type="text/javascript" src="js/jquery1.4.4.js"></script> 
<script type="text/javascript" src="js/jgrowl.js"></script> 
<link rel="stylesheet" type="text/css" href="css/artworkDesigner.css" /> 
<link href="js/uploadify-2.1.4/uploadify.css" type="text/css" rel="stylesheet" /> 
<script type="text/javascript" src="js/uploadify-2.1.4/jquery-1.4.2.min.js"></script> 
<script type="text/javascript" src="js/uploadify-2.1.4/swfobject.js"></script> 
<script type="text/javascript" src="js/uploadify-2.1.4/jquery.uploadify.v2.1.4.min.js">/script> 

<script type="text/javascript">  
    // <![CDATA[  
    var uploadType = "art";  
    var templateID = "42scs"; 

    $(document).ready(function() { 

     $('#fileInput').uploadify({ 

      'uploader': 'js/uploadify-2.1.4/uploadify.swf',  
      'script': 'js/uploadify-2.1.4/UploadHandler.ashx',  
      'cancelImg': 'js/uploadify-2.1.4/cancel.png',  
      'scriptData': { 'type': uploadType, 'templateID': templateID },  
      'auto': true,  
      'multi': true,  
      'fileDesc': 'Image Files',  
      'fileExt': '*.jpg;*.png;*.gif;*.bmp;*.jpeg',  
      'queueSizeLimit': 90,  
      'sizeLimit': 4000000,  
      'buttonText': 'Choose Images',  
      'folder': '/uploads/test',  
      'onComplete': function(event, ID, fileObj, response, data) { 

       if (response != "1") { 

        alert(response); // ALERTS 'ERROR TEXT' which is expected 

        // DOESNT RUN THIS LINE:, AND REST OF SCRIPT SEEMS TO FREEZE 
        $.jGrowl("<strong>Error!</strong><br />" + response, { sticky: true }); 
        alert("flag"); // THIS IS NOT RUNNING 

       } else { 

        alert(fileObj.name + "\n" + fileObj.filePath + "\n" + ID + "\n"); 
        alert(response); 

       } 

      } 

     }); 

    }); 

    // ]]></script> 

Этот скрипт работает отлично, когда templateID устанавливается на действительное число (без строки в конце, чтобы целенаправленно бросить ошибку) , но когда неверная строка передается в 42scs, как показано в приведенном выше коде, скрипт предупреждает

«Какой-то текст ошибки»

Это правильное возвращаемое значение, когда исключение выбрано на стороне сервера. Тогда сценарий просто перестает делать что-либо еще, когда он предназначен для выброса ошибки Jgrowl. Любые идеи, почему этого не происходит?

Я использую Jgrowl точно так же на другой странице, и он отлично работает.

+0

Вы пробовали пошаговый код с помощью отладчика? Кроме того, какие браузеры не работают (все?)? Кроме того, вы пытались запустить '$ .jGrowl' самостоятельно (отдельно), чтобы определить, работает ли он вообще, а не в вашем конкретном вызове? – ircmaxell

+0

Исправлено, было 2 ссылки на jquery, которые я вслепую скопировал и вставил из uploaded, что conlficted –

+0

Я думаю '//

ответ

3

двойная ссылка на библиотеку Jquery будет конфликтовать:

<script type="text/javascript" src="js/jquery1.4.4.js"></script> 
<script type="text/javascript" src="js/uploadify-2.1.4/jquery-1.4.2.min.js"></script> 
Смежные вопросы