Azure Web App-JavaScript无法按预期工作

问题描述 投票:0回答:1

我有一个在.NET Framework 4.7上的Azure上运行的网站。在该网站中,我有一个表单,当填充并提交时,有一个使用JQuery和AJAX的脚本,该脚本从表单中获取数据并将其发送到我们的自定义API。

我已经在表单中添加了一个新字段。现在,当我单击提交按钮时,脚本会将其发送到我们的API。但是,该新字段始终为null。

但是当我manually调用F12中的脚本时,它可以正确获取数据,并且我们的API可以按预期为新字段获取值。但是,当我通过按钮触发它时,却没有。

我检查了我在Azure和F12时使用的是完全相同的代码。我已将动态缓存设置为0,并重新启动了网站,但无法解决问题。 WEBSITE_RUN_FROM_PACKAGE或WEBSITE_NODE_DEFAULT VERSION是否以任何方式对其产生影响?

或者是js引用了其他文件(最小文件还是其他文件)?我相信这个问题与JS无法为我提供新的领域有关,但是我不确定为什么在F12中可以很好地做到这一点时还是没有。

我也在使用Umbraco API,但我怀疑这是问题所在,因为API可以正确接收数据。

    var model = {
        FirstName: $("#member-register #user_FirstName").val(),
        LastName: $("#member-register #user_LastName").val(),
        PostCode: $("#member-register #user_PostCode").val()
    };

    $.ajax({
        url: "/Umbraco/Api/Member/RegisterMember",
        method: "POST",
        dataType: 'json',
        contentType: 'application/json; charset=utf-8',
        data: JSON.stringify(model),
        success: function (response) {
            $("#register").modal('hide');
            if (response.Success) {
                // Clear the form fields otherwise it will be visible when register is clicked again.
                $("#member-register #user_FirstName").val("");
                $("#member-register #user_LastName").val("");
                $("#member-register #user_PostCode").val("");
            } else {
                $("#registerFailure").modal('show');
            }
        },
        error: function (response) {
            $("#register").modal('hide');
            $("#registerFailure").modal('show');
        }
    })
javascript jquery ajax azure-web-sites umbraco
1个回答
0
投票

原来我们正在使用客户端依赖框架(https://github.com/Shandem/ClientDependency)。在Azure上引用的JS是一个旧的JS,我们必须在ClientDependency.config中更新该版本,以便它重新打包并使用最新版本。

<clientDependency version="20191028" fileDependencyExtensions=".js,.css" loggerType="Umbraco.Web.UI.CdfLogger, umbraco">
© www.soinside.com 2019 - 2024. All rights reserved.