这个JQuery AJAX代码有什么问题?

本文关键字:什么 问题 代码 JQuery AJAX 这个 | 更新日期: 2023-09-27 18:12:33

我遇到了AJAX代码的一些问题。我在我们的项目中使用了MVC3。我的要求是在页面加载时使用AJAX绑定下拉值。加载页面时发生的事情是,AJAX请求正确地发送到控制器并返回到AJAX函数,并在下拉框中绑定确切的值。但有时(当页面刷新或第一次加载时)它不绑定检索值。而是显示默认值。请看看我的代码,并建议我在哪里做错了。

编辑:即使我试图使用异步属性为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);
            }
        });

谢谢,

这个JQuery AJAX代码有什么问题?

假设你的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>

您的data属性声明不正确。试试这个:

data: { id: currval },