Javascript 如何使用jqueryajax显示来自aspx页面的响应
我正在使用Javascript 如何使用jqueryajax显示来自aspx页面的响应,javascript,asp.net,ajax,internet-explorer,firefox,Javascript,Asp.net,Ajax,Internet Explorer,Firefox,我正在使用ajaxjquery请求一个aspx页面,该页面显示一个GidView,因此响应将是网格视图的html代码。我将响应添加到DIV以显示结果,当我第一次发出请求时,它工作正常,但是在第二次响应中没有添加任何内容,尽管有数据要绑定 **这个问题只出现在FireFox的IE浏览器中,没问题** ajax请求: function getSubTraning(mainId) { $(".res" + mainId).html(""); star
ajaxjquery
请求一个aspx
页面,该页面显示一个GidView
,因此响应将是网格视图的html代码。我将响应添加到DIV以显示结果,当我第一次发出请求时,它工作正常,但是在第二次响应中没有添加任何内容,尽管有数据要绑定
**这个问题只出现在FireFox的IE浏览器中,没问题**
ajax请求:
function getSubTraning(mainId) {
$(".res" + mainId).html("");
startLoad();
$.ajax({
url: "ajax/GetSubTraining.aspx",
data: { mainId: mainId },
success: function (a) {
stopLoad();
$(".res" + mainId).append(a);
}
});
}
GetSubTraining.aspx html代码
无需查看子培训!
默认情况下,jquery的ajax方法使用HTTP GET,这会导致浏览器缓存数据,从而阻止第二个ajax请求到达服务器。改用HTTP POST:
function getSubTraning(mainId) {
$(".res" + mainId).html("");
startLoad();
$.ajax({
type: 'POST',
url: "ajax/GetSubTraining.aspx",
data: { "mainId": "mainId" },
success: function (data) {
stopLoad();
$(".res" + mainId).append(data);
}
});
}
或者,使用jquery的post方法,在某些情况下,它是ajax方法的简写,比如您的:
function getSubTraning(mainId) {
$(".res" + mainId).html("");
startLoad();
$.post({
"ajax/GetSubTraining.aspx",
{ "mainId": "mainId" },
function (data) {
stopLoad();
$(".res" + mainId).append(data);
}
});
}
此外,引用json字符串数据更安全,因为有些系统会阻塞未引用的json字符串数据
function getSubTraning(mainId) {
$(".res" + mainId).html("");
startLoad();
$.post({
"ajax/GetSubTraining.aspx",
{ "mainId": "mainId" },
function (data) {
stopLoad();
$(".res" + mainId).append(data);
}
});
}