我有一个在 .NET Framework 4.7 上的 Azure 上运行的网站。在那个网站上,我有一个表单,当填写并提交时,有一个使用 JQuery 和 AJAX 的脚本,它从表单中获取数据并将其发送到我们的自定义 API。
我在表单中添加了一个新字段。现在,当我单击提交按钮时,脚本会将其发送到我们的 API。但是,该新字段始终为空。
但是当我在 F12 中手动调用脚本时,它会正确获取数据,并且我们的 API 会按预期获取新字段的值。但是当我通过按钮触发它时,它没有。
我已经检查过我在 Azure 和 F12 上使用的是完全相同的代码。我已将 set dynamic caching 更改为 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');
}
})
小怪兽爱吃肉
相关分类