Я создал приложение в ASP.Net MVC, где отправляю запрос POST входа в систему для действия HttpPost
.Это прекрасно работает на локальном хосте, но при развертывании в Google Cloud Platform оно не срабатывает и возвращает ошибку 404.
Действие записано в моем базовом контроллере, и вот код запроса AJAX:
$('#btn').click(function(event) {
event.preventDefault();
var url = '@Url.Action("PostLogin")';
var name = $("#Name").val();
var email = $("#Email").val();
$.ajax(
{
url: url,
type: 'Post',
data: { 'name': name, 'email': email },
dataType: "json",
success: function (data) {
alert(data);
},
error: function (err) {
alert(err.msg);
}
});
});
Вот код для Post Action:
[HttpPost]
public ActionResult PostLogin(string name, string email)
{
if(!string.IsNullOrEmpty(name))
{
return RedirectToAction("index");
}
return Json(new
{
msg = "failed to login "
});
}
Я обнаружил, что изменение режима сборки с debug
на release
будет работать, но это не сработало.Другие действия POST работают без использования AJAX.
Примечание: У меня есть разные имена для действий HttpGet и HttpPost, могу ли я это сделать (Login и PostLogin).