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);
        }
    });
}