Я только что создал функцию Javascript и метод контроллера, основанный на другом, который работает как положено.Значение Javascript кажется правильным, но когда оно достигает контроллера, оно меняется на 0. Я попытался заново выполнить всю функцию с нуля с теми же результатами.
Редактировать: в журнале консоли,е имеет правильное значение .
Редактировать 2: так выглядит запрос.с номером все в порядке! и точно так же, как другой метод получает номер.
Это код javascript, где e - правильное значение (это идентификатор сообщения):
function toggleArchivar(e) { //i've debugged it and e has the correct value
$.ajax({
type: "POST",
url: "/submissions/togglearchivar/" + e,
success: function (t) {
t.success ? (t.data ? $("#submissionid-" + e + " p.title").prepend('<span title="archivado" class="flair
linkflairlabel" id="archivadoTag">archivado</span>') :
$("#archivadoTag").remove(), $("#toggleArchivar").html("nsfw")) :
$("#toggleArchivar").html(t.error.message)
},
error: function () {
alert("Error al intentar archivar.")
}
}) }
И это метод контроллера:
[Authorize]
[HttpPost]
[VoatValidateAntiForgeryToken]
[PreventSpam(5)]
public async Task<ActionResult> ToggleArchivar(int submissionID) //SubmissionID comes with a 0!!!
{
using (var repo = new Repository(User))
{
var response = await repo.ToggleArchivar(submissionID);
return JsonResult(response);
}
}
Возьмем, к примеру, рабочие, которые я отлаживал, и значение соответствует: Javascript:
function toggleNSFW(e) {
$.ajax({
type: "POST",
url: "/submissions/togglensfw/" + e,
success: function (t) {
t.success ? (t.data ? $("#submissionid-" + e + " p.title").prepend('<span title="Not Safe For Work" class="flair
linkflairlabel" id="nsfwflair">NSFW</span>') :
$("#nsfwflair").remove(), $("#togglensfw").html("nsfw")) :
$("#togglensfw").html(t.error.message)
},
error: function () {
alert("Error al intentar poner NSFW.")
}
}) }
Контроллер:
[Authorize]
[HttpPost]
[VoatValidateAntiForgeryToken]
[PreventSpam(5)]
public async Task<ActionResult> ToggleNSFW(int submissionID)
{
using (var repo = new Repository(User))
{
var response = await repo.ToggleNSFW(submissionID);
return JsonResult(response);
}
}
Как видите, мои функции являются копией предыдущих.Я не могу сказать, почему это происходит с таким значением!