2015-06-18 52 views
0

我是jQuery和Json的新手。我想要使​​用jQuery和Json將下拉列表中的值傳遞給控制器​​,但無論我做什麼,我都會收到錯誤消息。使用jQuery將數據傳遞給控制器​​Json

這是我的代碼:

VIEW

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
<script src="~/Scripts/jquery-1.8.2.js"></script> 
<script src="~/Scripts/jquery-1.8.2.min.js"></script> 
<script src="~/Scripts/jquery.min.js"></script> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#ACT_NO").change(function() { 
      var selectedItem = $(this).val();    
      var txt = $("#testID"); 
      if (selectedItem != null || selectedItem != "") 
      { 
       $("#testID").replaceWith("VALUE PRESENT"); 
       $("#testID1").replaceWith(selectedItem); 
      } 
      $.ajax({ 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       data: JSON.stringify({ id: $("#ACT_NO").val() }), 
       type: "POST", 
       url: '@Url.Action("matterdict/getActionDesc")', 
       success: function (data) { 
        alert('successful'); 
       }, 
       error: function (xhr, ajaxOptions, thrownError) { 
        alert('Failed to retrieve data.');      
       } 
      }); 
     }); 
     $("#ACT_NO").change(function() { 
      $("#testID").replaceWith("successful"); 
     }); 
    }); 

</script> 

這裏ACT_NO是DDL

我的控制器代碼

public JsonResult getActionDesc(int act_no) 
{ 
      IEnumerable<string> result = newOps.getAction(act_no); 
      return Json(new SelectList(result)); 
} 

的我不知道什麼是錯的ID我的代碼,任何幫助將不勝感激。

謝謝..

回答

0

而接收控制器頁中的數據,我們應該利用我們通過JSON與相應的數據類型發送相同的屬性名稱得到JSON id的值。

在這裏,你已經在json中發送'id'作爲屬性名稱,同時通過ajax post發送它,並在控制器中使用相同的'id'來獲取該值。

public JsonResult getActionDesc(int id) 
    { 
     ------ 
    } 
+0

我試過你的建議,但它仍然沒有工作。我仍然收到錯誤 –

+0

你得到了什麼錯誤?無論是否觸發服務器端操作或不是你的最終? @ user_19240589 – user3468621

+0

感謝您的幫助。就像你建議我將變量和數據類型改爲字符串而不是int。當我調試我的腳本時,我注意到我設置的URL是錯誤的。再次感謝.. –

相關問題