2015-10-16 81 views
0
function moveIt(result, finish) { 
    $result = $(result); 
    $result.find('#main-content-wrapper').appendTo('#aem-content'); 
    $result.appendTo('#scriptDiv'); 

    if (finish !== undefined) { 
     finish(); 
    } 
} 

function isAuthSpace(path) { 
    if (path.toLowerCase().indexOf("shop/") > 0) return true; 
    return false; 
} 

function finishInjecting() { 
    ProcessInjection("div.dyna-prd-lnk", parseDivTag, pumpDivTag, "Shop.aspx/GetLinks"); 
} 

function AEMLoadError(isAuth) { 
    var fileToLoad = "unAuth.html"; 
    if (isAuth) { 
     fileToLoad = "auth.html"; 
    } 
    $("#aem-content").load(fileToLoad, finishInjecting); 
} 

function breakAEMLoadPath(path) { 
    return BreakTheAEMLoadPath === true ? "2" : path; 
} 

function PullAEM(path, finish) { 
    var isAuth = isAuthSpace(path); 
    var ppath = breakAEMLoadPath(path); 
    $.ajax({ 
     url: ppath, 
     success: function (result) { 
      moveIt(result, finish); 
     }, 
     error: function() { 
      AEMLoadError(isAuth); 
     }, 
     dataType: "html" 
    }); 
} 

當我調用上面的函數PullAEM(路徑,結束),無論我把什麼價值的路徑參數,Ajax調用調用成功功能,如果路徑有垃圾就,說它是空的,呼叫成功(即使它會失敗)。當它失敗時,結果將包含當前頁面的內容,而不是路徑指向的內容。任何人有任何想法我做錯了什麼?JQuery的阿賈克斯不會出錯

+0

當您在瀏覽器中調試此項時,AJAX調用發出的HTTP請求是什麼?我懷疑試圖調用一個空的URL會導致瀏覽器請求當前的相對URL。 – David

+0

...並且,一旦您找到該URL(即使它*爲垃圾),當您在瀏覽器中訪問該URL時,該URL會得到什麼迴應?這可能是一個服務器端問題,應該將錯誤處理爲「很好」。 –

+0

基本上你們都對。我發現這非常奇怪的行爲。我發現的是,如果我可以鍵入會給我一個錯誤的東西,比如地址欄/窗口中的400或404,那麼這就是我在路徑參數/參數中需要的。謝謝你的機器人爲我展示了方式! –

回答

0

感謝大家回答如此之快。我不確定問題是什麼,但是在我清理完所有內容後將它發佈到這裏,它效果很好!雖然,它們都是你們倆都在說的。

這是完美的工作....