通过JQuery Ajax和Classic ASP返回搜索结果

时间:2011-04-05 18:04:33

标签: jquery json asp-classic

我希望在返回经典ASP表单中的分页搜索结果时消除回发。我以为我会使用JQuery按照标准访问ASP页面并从服务器返回结果以显示在表格中。

我应该在这里使用JSON吗?以表格形式返回数据的最有效方法是什么?我想这些选项是在从SQL返回的数据上添加标记,或者让SQL添加表示元素。

3 个答案:

答案 0 :(得分:1)

您可以编写一个asp文件来查询数据库并编写渲染表所需的所有HTML,接下来您可以编写一些jQuery来替换表,如下所示:

var LastSearchCriteria = '';

function getMyQuery(){
  if (LastSearchCriteria != $.trim($("#txtSearchCriteria").val)
  {
    $.ajax({
      type:"POST",
      url: "MyQueryToDataBase.asp",
      dataType: "application/x-www-form-urlencoded",
      data: "Action=DoSearch&SearchCriteria="
        + jQuery.trim($("#txtSearchCriteria").val()),
      async: true,
      beforeSend : function(){
        $("#Loading").show(); //gif... just feed back
        LastSearchCriteria = $.trim($("#txtSearchCriteria").val());
      },
      success: function(msg){
        $("select[id$=MyTable]").remove();
        $("#fldMyTable").prepend(msg);
        $("#Loading").hide();
      }
    })
  }
}

您还可以查看jQuery.ajax() documentation

答案 1 :(得分:0)

正如ITroubs所说,不要在数据库中构建HTML。

就个人而言,我发现在我的ASP页面中构建完整的HTML并且只是呈现HTML更容易,而不是以JSON格式返回匹配的结果,然后通过在jQuery中构建元素来显示它。我发现在ASP页面上编辑和维护HTML要比更改构建显示的javascript更容易。

但是,以JSON格式返回结果确实有其优点。它更简洁,更容易调试。它还可以让您在结果方面获得更大的灵活性。

答案 2 :(得分:0)

你可以使用jquery和像Flexigrid这样的产品。

http://www.flexigrid.info/

此版本使用ASP作为后端。

http://jamesowers.co.uk/asp-tutorials/63/flexigrid-with-asp-version-2/

我用过它。