2012-06-14 78 views
0

我正在使用jQuery將圖像上傳到joomla網站,但有問題的文件ajaxfileupload.js。圖片上傳得很好,但「成功」中的功能沒有被調用。我需要它的工作來顯示上傳完成的確認。我曾嘗試使用「完整」而不是「成功」,然後代碼工作,但它一遍又一遍地刷新頁面。我怎樣才能讓它像它應該那樣工作?這裏的代碼..jquery ajax文件上傳,成功不叫

upload: function (a) { 
    if (jQuery("#Filedata-" + a).val() == "") { 
     jQuery("#photoupload-" + a).remove(); 
     joms.uploader.upload(); 
     if (jQuery("#photoupload").next().length == 0) { 
      joms.uploader.addNewUpload() 
     } 
     jQuery("#upload-photos-button").show(); 
     return 
    } 
    var c = (jQuery("#photoupload-" + a + " :input:checked").val() == "1") ? "&defaultphoto=1" : ""; 
    var b = jQuery("#photoupload-" + a).next().find(".elementIndex").val(); 
    b = (b != "") ? "&nextupload=" + b : ""; 
    jQuery("#photoupload-" + a).children().each(function() { 
     jQuery(this).css("display", "none") 
    }); 
    jQuery("#photoupload-" + a).append('<div id="photoupload-loading-' + a + '"><span class="loading" style="display:block;float: none;margin: 0px;"></span><span>' + joms.uploader.uploadText + "</span></div>"); 
    jQuery.ajaxFileUpload({ 
     url: this.postUrl + c + b, 
     secureuri: false, 
     fileElementId: "Filedata-" + a, 
     dataType: "json", 
     success: function (e, d) { 
      jQuery("#photoupload-loading-" + a).remove(); 
      if (typeof (e.error) != "undefined" && e.error == "true") { 
       jQuery("#photoupload-" + a).css("background", "#ffeded"); 
       jQuery("#photoupload-" + a).append('<span class="error">' + e.msg + "</span>") 
      } else { 
       jQuery("#photoupload-" + a).css("background", "#edfff3"); 
       jQuery("#photoupload-" + a).append('<span class="success">' + e.msg + "</span>") 
      } 
      jQuery("#photoupload-" + a).fadeOut(4500, function() { 
       jQuery("#photoupload-" + a).remove(); 
       if (jQuery("#photoupload").next().length == 0) { 
        joms.uploader.addNewUpload() 
       } 
      }); 
      jQuery("#photoupload-" + a + " .remove").css("display", "block"); 
      if (e.nextupload != "undefined") { 
       joms.uploader.upload(e.nextupload); 
       return 
      } else { 
       jQuery("#upload-photos-button").show() 
      } 
     }, 
     error: function (f, d, g) {} 
    }); 
    return false 
} 
+1

什麼錯誤。您可以使用error:函數來獲取錯誤。 –

+0

你可以發佈服務器發送的JSON嗎? – fcalderan

+0

只是提醒錯誤信息,並檢查 – TRR

回答

4

我想我解決了這個問題。您必須刪除選項:數據,數據類型。它會正常工作。

+0

爲我工作太。我不喜歡它,但我會接受它。 –

0

這可能會遲到,但雖然人們看到這是第一次只是改變 數據類型:「JSON」, 到 數據類型:「JSON」,