У меня есть раскрывающийся список, в котором есть список идентификаторов. Клиент выберет один, и он будет отображать общую сумму на странице. Im создает вызов ajax, который будет обновлять общее количество, когда другой идентификатор извлекается из раскрывающегося списка.Ajax, передающий значение null контроллеру
$("#BrandId").on('focus', function() {
// Store the current value on focus and on change
previous = this.value;
}).change(function() {
alert("Previous: " +previous);
sel = this.value;
alert("Selected: " +sel);
$.ajax({
cache: false,
type: "get",
contentType: "application/json; charset=utf-8",
url: '@Url.Action("GetBrandCost", "Shocks")',
data: JSON.stringify({ idp: previous, id: sel }),
dataType: "json",
aysnc: false,
success: function (data1) {
alert(data1);
//ShockTotal = $("#ShockTotal").html();
//ShockTotal = ShockTotal/1;
////ShockTotal = ShockTotal - data1;
//$("#ShockTotal").html(data1);
}
});
});
Оповещения работают отлично, но Аякс разве прохождение этих идентификаторов в контроллер, контроллер просто принимает аннулирует.
public decimal GetBrandCost(string idp, string id)
{
decimal costp = 0;
decimal cost = 0;
if (id == "" || id == null || idp == "" || idp == null)
{
return 0;
}
ShockBrand brandp = db.ShockBrands.Find(idp);
costp = brandp.Cost;
ShockBrand brand = db.ShockBrands.Find(id);
cost = brand.Cost;
cost = cost - costp;
return cost;
}
Поскольку они являются нулевыми, я нажимаю свое заявление if и просто возвращаю ноль внутри успеха. Большинство из того, что я читал, заключалось в том, чтобы добавить тип контента, но это, похоже, не помогло в моем случае, я уверен, что это что-то малое.
почему не только: '' данных: {IDP: предыдущий, идентификатор: Сель} '' нет необходимости делать stringify –
Когда я делаю что и переходите к моему контроллеру для отладки, он передает то же значение для idp и id, равное значению, назначенному для функции изменения – failsatheals