通过JQuery Ajax和经典ASP返回搜索结果
问题描述:
我想在传统ASP表单中返回分页搜索结果时消除回传。我想我会使用JQuery按照条件创建一个ASP页面,并从服务器返回结果以显示在表格中。通过JQuery Ajax和经典ASP返回搜索结果
我应该在这里使用JSON吗?什么是最有效的方式来返回数据,所以它是表格形式?选项是我想在从SQL返回的数据上添加标签,或者让SQL添加表示元素。
答
,你查询数据库,并写上你需要渲染的表中的所有HTML,然后你可以写一些jQuery来代替表如下你可以写一个ASP文件:
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();
}
})
}
}
答
正如ITroubs所说,不要在数据库中构建HTML。个人而言,我发现在我的ASP页面中构建完整的HTML并只是呈现HTML,而不是以JSON格式返回匹配结果,然后通过在jQuery中构建元素来显示它更容易。我发现在ASP页面上编辑和维护HTML要比改变构建显示的JavaScript更容易。
但是,以JSON格式返回结果确实有其优点。它更简洁,更易于调试。它也会给你更多的灵活性,你可以用结果做什么。
答
你可以使用jQuery和Flexigrid之类的产品。
这个版本使用ASP的后端。
http://jamesowers.co.uk/asp-tutorials/63/flexigrid-with-asp-version-2/
我已经用它。
如果通过“SQL添加演示文稿元素”,你的意思是在你的sql串中做一个concat,例如标签,那么我可以说这是我最后一件事。实际上,我已经不得不对这样一个SQL函数进行更改,并且这纯粹是矫枉过正。 JSON对你来说可能很有意思,只要你给一些带有一些字符串的数组返回给你的js,然后使用jquery自动解码这个JSON即可。 – ITroubs 2011-04-05 18:15:08