我当时在用vs代码制作一个简单的应用程序,我想将值保存到数据库中,这就是我到目前为止所拥有的。
var naziv = $("#TextNaziv").val();
var cena = $("#TextCena").val();
var opis = $("#TextOpis").val();
//console.log("Cena:" + cena);
// console.log("Opis:" + opis);
// console.log("Naziv:" + naziv);
var proizvod = {
Naziv: "nazivTest123",
Cena: 33,
Opis: "opisTest123"
}
// console.log(proizvod);
var zahtev = $.ajax({
type: "POST",
url: "/Home/UbaciProizvod",
data: JSON.stringify(proizvod),
contentType: "application/json",
dataType: "text",
});
而且这一切正常,没有任何问题,但是当我将var proizvod更改为:
var proizvod = {
Naziv: naziv,
Cena: cena,
Opis: opis
}
该应用程序只是不会将这些值保存到数据库中,即使我在控制台中签入并且该值也很好,控制器也会收到空值。我尝试了在互联网上看到的所有内容,但似乎无济于事,也许是一些小问题,但我无法解决,我的控制器功能如下所示:
public int UbaciProizvod([FromBody] Proizvod p )
{
string upit = @"INSERT INTO Proizvod VALUES(@Naziv,@Cena,@Opis);
SELECT CAST(SCOPE_IDENTITY() AS int)";
using(SqlConnection konekcija = new SqlConnection(Konekcija.CnnMagacin))
{
try
{
int id = konekcija.QuerySingleOrDefault<int>(upit,p);
return id;
}
catch (System.Exception)
{
return -1;
}
}
}
这是我的第一篇文章,因此欢迎所有建议和批评者,并对变量名称感到抱歉。
两种版本之间的区别在于Cena
,在工作版本中提供的是整数值,而在不工作版本中提供的是字符串。
要parseInt()
在发出AJAX请求之前将调用固定在值上,请执行以下操作:
var proizvod = {
Naziv: naziv,
Cena: parseInt(cena, 10),
Opis: opis
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句