У меня есть веб-сайт, работающий в Azure на .NET Framework 4.7. На этом веб-сайте у меня есть форма, которая при заполнении и отправке содержит скрипт, использующий JQuery и AJAX, который получает данные из формы и отправляет их в наш пользовательский API.
Я добавил один новыйполе к форме. Теперь, когда я нажимаю кнопку отправки, скрипт отправляет ее нашему API. Однако это новое поле всегда равно нулю.
Но когда я вручную вызываю скрипт в 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');
}
})