2014-02-05 28 views
0

我在一個較大的JavaScript文件中有以下代碼塊。它使用API​​獲取strCategoryID值,並返回包含適當鏈接的三個文檔名稱的列表。除了我需要按輸入日期對文檔進行排序以外,還可以正常工作。我在SQL數據庫中有一個存儲過程,它爲我提供了我需要的東西,但我不確定如何進行該調用並使用排序後的文檔填充循環。我正在修改別人的代碼,並且對於Ajax來說很新穎。如何在JavaScript/Ajax中調用存儲過程?

var list = "<ul style=\"list-style: none; text-indent: -1.2em;\" class=\"news-list\" id=\"news-" + strCategoryID + "\">"; 
    $.ajax({ 
    type: "POST", 
    async: false, 
    data: strParams, 
    url: "/Utilities/AJAXUtilities.aspx",  
    success: function(msg){ 
    msg = $.createXMLDocument(msg);  
    var li_count = 0; 

    $(msg).find('CONTENT_SEARCH').each(function(){ 

     if ($(this).find("CNT_AVAILABLE").text() == "T") { 
     var title = $(this).find("CNT_TITLE").text(); 
     var trimtitle = title.substring(0,39); 
     list = list.concat("<li><a href=\"/Content/MyOptions.aspx?id=" + $(this).find("CNT_CONTENT_ID").text() + "\">" + trimtitle + "...</a></li><hr>"); 
      li_count = li_count+1; 
      if (li_count == 3) { 
      return false; 
      } 
     } 
    }); 

    } 
    }); 

    list = list.concat("</ul>"); 
    list = list.concat("<br /><a href=\"\">View previous news releases>></a>");  
    $("#newscatlist").append(list); 
    return list; 
+0

存儲過程是什麼樣的? –

回答

0

我認爲,如果你不是很熟悉AJAX的最簡單的解決方法是將修改AJAXUtilities.aspx由你所需要的返回記錄順序,這樣你就不必處理AJAX和/或Javascript。

+0

這是一個兔子洞。 AJAXUtilities.aspx是一個繼承許多其他地方的函數的自定義代碼。 – fishboy

+0

好的,創建另一個ASPx頁面,在該頁面內您必須調用存儲過程,並在ASPx中需要將該存儲過程的結果轉換爲XML結果並將其作爲新值返回。請記住,您應該查看當前返回的XML格式並模仿相同的格式(順序將不相關)。如果你需要更多的幫助,請問。 – ProgrammerV5

+0

是否可以像這樣嵌套ajax調用?我可以獲取文檔ID,然後使用它在循環的每個階段獲取其他內容?存儲過程的原因是API中不存在直接獲取我需要的調用。我所包含的代碼將文檔歸入某個類別。我需要的是從該類別中輸入的最後三個文件。輸入日期存在於一個單獨的表格中,該表格在文檔ID上編入索引,在我從類別中獲取列表之前我無法獲得。 – fishboy