Javascript 对不同结果的相同url的ajax调用始终给出第一个结果集

Javascript 对不同结果的相同url的ajax调用始终给出第一个结果集,javascript,c#,jquery,asp.net,ajax,Javascript,C#,Jquery,Asp.net,Ajax,在我的asp.net应用程序中,我使用jQueryAjax调用获取hson数据并将数据动态绑定到html表。 从page1.aspx单击列表按钮,重定向到page2.aspx和ajax调用,代码如下 var xhReq = new XMLHttpRequest(); xhReq.open("GET", '../SVC/Data.svc/GetInventoryTrimSummary/' + valueModel + '/' + valueTrim + '/' + valueStyle + '/'

在我的asp.net应用程序中,我使用jQueryAjax调用获取hson数据并将数据动态绑定到html表。 从page1.aspx单击列表按钮,重定向到page2.aspx和ajax调用,代码如下

var xhReq = new XMLHttpRequest();
xhReq.open("GET", '../SVC/Data.svc/GetInventoryTrimSummary/' + valueModel + '/' + valueTrim + '/' + valueStyle + '/' + type, false);
xhReq.send(null);
var jsonObject1 = JSON.parse(xhReq.responseText);
jsonData = jsonObject1.GetInventoryTrimSummaryResult;
$('#dynamictable').append(jsonData);
OperationContract]
    [WebInvoke(Method = "GET",
        ResponseFormat = WebMessageFormat.Json,
        RequestFormat = WebMessageFormat.Json,
        BodyStyle = WebMessageBodyStyle.Wrapped,
        UriTemplate = "GetInventoryTrimSummary/{modelId}/{trimId}/{bodyStyle}/{type}")]
    string GetInventoryTrimSummary(string modelId, string trimId, string bodyStyle,string type);
表是在service.cs类中使用in-GetInventoryTrimSummary方法创建的

public string GetInventoryTrimSummary(string modelId, string trimId, string body_Style, string type)
{
    string dynamicOrderTable = "";
    DataTable dt = Inventory.dataset.Tables[0];
    DataRow[] results = null;
    if (modelId == "All" && trimId == "All")
    {
         dynamicOrderTable = FormOrderTable(dt, modelId, trimId, body_Style, type);
         return dynamicOrderTable;

    }
}
此GetInventoryTrimSummary方法在IData.cs类中定义如下

var xhReq = new XMLHttpRequest();
xhReq.open("GET", '../SVC/Data.svc/GetInventoryTrimSummary/' + valueModel + '/' + valueTrim + '/' + valueStyle + '/' + type, false);
xhReq.send(null);
var jsonObject1 = JSON.parse(xhReq.responseText);
jsonData = jsonObject1.GetInventoryTrimSummaryResult;
$('#dynamictable').append(jsonData);
OperationContract]
    [WebInvoke(Method = "GET",
        ResponseFormat = WebMessageFormat.Json,
        RequestFormat = WebMessageFormat.Json,
        BodyStyle = WebMessageBodyStyle.Wrapped,
        UriTemplate = "GetInventoryTrimSummary/{modelId}/{trimId}/{bodyStyle}/{type}")]
    string GetInventoryTrimSummary(string modelId, string trimId, string bodyStyle,string type);
现在在page1.aspx中,如果做了一些更改并单击按钮,将使用新的数据集集集创建会话,并重定向到page1.aspx。在这里,我调用相同的ajax调用,因为表中的列没有差异,只有数据会被更改

但我的问题是,当我第一次得到默认值并显示在表中时,如果我返回会话数据,ajax结果集会给我默认结果集,而不是会话结果。当我调试时,我发现第二次GetInventoryTrimSummary方法本身没有命中,ajax返回默认值作为第一个结果集。 我在这里错过了什么。有点卡住了


这是用于浏览器缓存的吗?我的意思是,在网络控制台中,您看到第二个请求了吗?听起来与混合了ajax的重定向相混淆。我在控制台中没有看到第二个请求。方法本身没有被调用。我所看到的只是第一次请求的结果。第一次访问page2.aspx时,无论其默认值或会话值是否正确显示。当你第二次或更进一步来到这个页面时,它总是显示第一个结果。所以肯定有一个JS的怪癖,那就是阻止ajax调用第二个请求,您需要首先检查它。在Chrome中,它工作正常。问题导致IE。