我在使用AJAX代码时遇到了一些问题。我在项目中使用MVC3。我的要求是在页面加载时使用AJAX绑定下拉值。加载页面时会发生什么,AJAX请求正确发送给控制器并返回到AJAX函数并绑定下拉列表中的确切值。但有时(当页面刷新或第一次加载时)其未绑定检索值。而是显示默认值。请看我的代码并建议我在哪里做错了。
编辑:即使我尝试将async属性用于false。它完全没有发送到控制器动作方法来获取数据。
代码
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: '@Url.Action("GetUser", "Invoices")',
data: "{'id':" + JSON.stringify(currval) + "}",
dataType: "json",
async: true,
success: function (data) {
$("#User-" + curr).select2("data", { id: data.Value, Name: data.Text });
$(this).val(data.Value);
}
});
谢谢,
答案 0 :(得分:1)
您正在宣布您的data
财产错误。试试这个:
data: { id: currval },
答案 1 :(得分:1)
让我们说你的Action方法在
之下public JsonResult hello(int id)
{
return Json(new { Success = true }, JsonRequestBehavior.AllowGet);
}
和JQuery应该如下所示
<script language="javascript" type="text/javascript">
$(document).ready(function () {
var currval = 2;
$.ajax({
url: 'URl',
async: true,
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify({ id: currval }),
success: function (data) {
}
});
});
</script>