C# 在后台获取数据而不影响.net中的UI+;jquery
我需要在Jquery中创建多个搜索请求,从不同的表/页面进行搜索,我需要将所有搜索结果合并到一个HTML表中,并在UI中显示结果 下面是我的方法 在Jquery中使用$.ajax,我转到服务器(.Net代码),获取JSON数据,返回JSON文件,构建一个HTML表并显示结果(此结果将有复选框供用户选中/取消选中结果)。显示结果后,我再次使用$.ajax,转到服务器(.NET代码)获取数据,并将结果附加到第一个HTML表中 我的要求是,在这两个请求之间,我需要 1)显示正在加载的图像/文本。 2)用户应该能够访问(滚动、选中、取消选中)第一个JSON请求返回的HTML表格结果。 我也能做到。我面临的问题是关于2)。 一旦结果来自第一个请求,并且在div中显示结果,我将再次使用$.ajax触发第二个搜索请求。此时我无法访问HTML表。页面冻结,直到第二个请求的结果出现,直到我将结果绑定到HTML表 我的代码是这样的C# 在后台获取数据而不影响.net中的UI+;jquery,c#,jquery,html,json,vb.net,C#,Jquery,Html,Json,Vb.net,我需要在Jquery中创建多个搜索请求,从不同的表/页面进行搜索,我需要将所有搜索结果合并到一个HTML表中,并在UI中显示结果 下面是我的方法 在Jquery中使用$.ajax,我转到服务器(.Net代码),获取JSON数据,返回JSON文件,构建一个HTML表并显示结果(此结果将有复选框供用户选中/取消选中结果)。显示结果后,我再次使用$.ajax,转到服务器(.NET代码)获取数据,并将结果附加到第一个HTML表中 我的要求是,在这两个请求之间,我需要 1)显示正在加载的图像/文本。 2)
function SearchDetails() {
GetDetails("Test", 0); /*Trigger First Request*/ }
function GetDetails(searchKeyword, iAppend) {
$.ajax({
type: "POST",
url: "FETCH_DETAILS.asmx/GetDetails",
data: "{'searchKeyword':'" + searchKeyword + "', 'Append':'" + iAppend + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
crossDomain: true,
jsonp: false,
success: function (response) {
if(iAppend == 0) //First Request
{
BindTable(response.d, iAppend); //Creates new HTML table and binds results
GetDetails("TestNew", 1);//Trigger Second Request
}
else if (iAppend == 1) {
BindTable(response.d, iAppend);
}
},
failure: function (msg) {
alert(msg);
},
});}
function BindTable(SearchResults, iAppend){
/*Creates HTML Table & binds to a div for First Request
Creates HTML Table Rowss & appends to existing HTML table for Second Request*/ }
请告诉我是否遗漏了任何内容,或者是否有办法从Jquery转到服务器(.NET代码),而不影响(冻结)显示/UI。也许可以设置:
async: false
到
可能会给你一个主意。。
async: true