2016-05-23 23 views
0

我有AJAX請求,asp.net MVC jquery的AJAX請求被添加到的參數值,當我請求不止一次

 onLanguageSelection: function() { 
      $("#submitLocalizationVm") 
       .click(function (event) { 
        var localizationId = $("#surveySectionsLocalizationList option:selected").val(); 
        var surveySectionId = $("#SurveySectionId").val(); 
        if (localizationId) { 
         LinkAjax.ajaxRequest($localizationEditVmUrl += surveySectionId + "&localizationId=" + localizationId, 
         "random data", 
         "localizationPartial", 
         null, 
         null, 
         localizationSelectList.populateLocalizationViewModel); 
        } 
       }); 
     }, 

我有以下方法的MVC控制器。

public string GetEditLocalizationInformation(Guid surveySectionID, Guid localizationId) 
     { 
      //... 
      return new JavaScriptSerializer().Serialize(model); 
     } 

我得到一個錯誤。我第一次向parmae​​ters surveySectinID = 2 and localizationId = 3發出請求,它是成功的。如果我提出另一個請求而沒有使用參數surveySectinID = 2 and localizationId = 4刷新頁面,則localizationId將連接來自請求的兩個值,併成爲34。這裏發生了什麼? ajax請求正在發送正確的值。

+0

你確定ajax發送正確的數據?你是如何確認的? – SamGhatak

+0

使用開發工具。我可以看到正在發送的localizationId值僅在第一個請求中爲3,在第二個請求中爲4。 –

+0

而在控制器中,你可以得到連接的值嗎?那裏的Request.QueryString的價值是什麼? – SamGhatak

回答

1
LinkAjax.ajaxRequest($localizationEditVmUrl += surveySectionId + "&localizationId=" + localizationId, 

您有上述問題。 $ localizationEditVmUrl變量似乎是全局性的,因爲你連接了參數,所以下一個AJAX請求將會有額外的參數。改變它是這樣的,它應該很好

LinkAjax.ajaxRequest($localizationEditVmUrl + surveySectionId + "&localizationId=" + localizationId,