2015-06-18 40 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是错误的。再次感谢.. –

相关问题