Ajax不会将数据返回到动作ASP.net MVC
我是MVC的新手,并面临在ASP.NET应用程序的操作中通过ajax访问数据的问题。 这是我的Ajax代码:
$('.testBtn').click(function() {
$.ajax({
type: 'GET',
data: { id: 10 },
url="@Url.Action("GetData", "Consultation")",
success:function()
{
}
});
});
这里是我在控制器中的动作:
public ActionResult GetData(int id)
{
string x=id.ToStrring();
return null;
}
对于测试,我只是传递一个静态整数并在我的动作中获取它的值。
点击按钮我收到以下错误:
参数字典为'careshade_mvc.Controllers.ConsultationController'中的方法'System.Web.Mvc.ActionResult GetData(Int32)'包含一个空的条目,用于不可为空的类型'System.Int32'的参数'id'。 可选参数必须是引用类型,可为空类型,或者声明为可选参数。
这是工作代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.3.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.testBtn').click(function () {
$.ajax(
{
url: 'Consultation/GetData',
type: "POST",
data: { id: 10 },
success: function (result) {
}
});
});
});
</script>
</head>
<body>
<input type="button" class="testBtn" value="ClickHere" name="button">
</body>
</html>
尝试这个:
$(document).ready(function() {
var id = 10;
$('.testBtn').click(function () {
$.ajax(
{
url: 'Consultation/GetData/' + id,//instead data: { id: 10 },
type: "GET",
success: function (result) {
}
});
});
});
你需要在url
之后使用冒号(:)而不是等号(=)。
只需更改:
url="@Url.Action("GetData", "Consultation")",
为此:
url:"@Url.Action("GetData", "Consultation")",
这是我必须做的唯一改变使呼叫work.Hope它帮助您!
链接地址: http://www.djcxy.com/p/6679.html