javascript - ajax中出现匿名函数错误

标签 javascript jquery ajax

我在我的 MVC 项目中调用 Ajax 从 Web API 获取结果。在我的本地页面中,该页面可以工作,但在生产中它无法工作,并在 .js 文件中的这一行给出此错误: $.ajax

http://mylink.cloudapp.azure.com/searchuser 404(未找到)

x.extend.ajax 匿名函数

这是我的 .js 文件:

$(document).ready(function () {
$('#btnSearch').click(function (evt) {
   // debugger;
    if (ValidateInput()) {
        var data = {
            LastName: $.trim($('#LastName').val() || ''),
            Zip: $.trim($('#Zip').val() || ''),
            Ssn: $.trim($('#Ssn').val() || '')
        };
        var token = $('[name=__RequestVerificationToken]').val();

        $.ajax({
            dataType: "json",
            //headers: { "__RequestVerificationToken": token },
            data: data,
            url: '/searchuser',
            type: 'POST',
            cache: false,
            success: function (result) {
                console.log(result);
                if (result && result.success) {
                    $('#ApplicationId').val(result.data.applicantId);
                    if (result.data.exception == null) {
                        $('#stepTwo').show();                         
                        $('#EmailAddress').val(result.data.userEmailAddress);
                    }
                    else {
                        $('#txtareaResponse').val(result.data.exception);
                    }
                }                   
            },
            error: function () { debugger; alert('failure'); }
        });
    }
});

这是我的观点:

<script src="~/Scripts/jquery-1.10.2.min.js"></script>

<link href="~/Content/Loan.css" rel="stylesheet" />
<script src="~/Scripts/Verify.js"></script>

这是 Controller 方法:

    [AllowAnonymous]
    [Route("searchuser")]
    [HttpPost]
    public async Task<ActionResult> SearchUser(UserInfo userInfo)
    {
        object userObject = null;
          if (userInfo.LastName != null && userInfo.Zip != null && userInfo.Ssn != null)
            {
                string accessKey = CreateAccountKey(userInfo.LastName, userInfo.Zip, userInfo.Ssn);

                UserKey userKey = new UserKey();
                userKey.AccountKey = accessKey;
                //var response = await httpClient.GetAsync(string.Format("{0}{1}/{2}", LoanApiBaseUrlValue, "/verifyuser", accessKey));
                var response = await httpClient.PostAsJsonAsync(string.Format("{0}{1}", LoanApiBaseUrlValue, "/verifyuser"), userKey);
                if (response.IsSuccessStatusCode)
                {
                    userObject = new JavaScriptSerializer().DeserializeObject(response.Content.ReadAsStringAsync().Result) as object;
                    var json = response.Content.ReadAsStringAsync().Result;
                    var userVerify = new JavaScriptSerializer().Deserialize<VerifyUser>(json);
                }
            }
            var respone = new
            {
                success = userObject != null,
                data = userObject
            };
            return Json(respone, JsonRequestBehavior.AllowGet);
        }

最佳答案

尝试只返回一个 ActionResult

[AllowAnonymous]
[Route("searchuser")]
[HttpPost]
public ActionResult SearchUser(..){..}

还在您的 ajax 调用中使用 Razor 语法

$.ajax({
    url: "@Url.Action("method", "Controller")",
    type: "GET",
    data: {},
    success: function (data) {
            //do stuff...
    }
});

关于javascript - ajax中出现匿名函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37423897/

相关文章:

javascript - 在 React.Intl <FormattedMessage> 上运行函数

javascript - Turbolinks 5 [正确加载 Javascript]

javascript - 将 jQuery 动画与 angular 的 ngAnimate 一起使用

php - 在单段代码中混合 PHP、Javascript、Ajax

javascript - JQuery AJAX header 授权 POST

javascript - 如何使用 KnockoutJS 数据绑定(bind)将使用 GridFS 上传的文件的信息显示到表中

javascript - Node/Javascript 根据目标平台导入不同的模块?

javascript - Rivet.js 中的双向 Binder

jquery - 括号文件不起作用

java - Mongodb查询匹配以空格分隔的单词