我的代码总是在Ajax中返回错误函数,但数据到达数据库
我的ajax代码:
$(document).ready(function () {
$("#sub").click(function c() {
var datax = $("#text").val();
var dat = datax.toString();
alert(dat);
$.ajax({
type: "POST",
url:"commentering",
data: dat,
success: function (da) {
alert(da);
var a = $("<input type='text'>").val(da);
$("#body").append(a);
},
error: function (error) {
alert('error; ' + eval(error));
}
});
});
});
我的控制器:
[HttpPost]
public ActionResult commentering(FormCollection f)
{
Random rad = new Random();
comment c = new comment();
c.id = rad.Next(15151);
c.comments = f.Get(0).ToString();
if (ModelState.IsValid)
{
db.comments.Add(c);
db.SaveChanges();
return Json(c.comments);
}
return Json("errorx");
}
它调用控制器但仍然无法成功执行。它工作了一次,但现在它导致错误。
答案 0 :(得分:1)
如果我没弄错,你的jQuery代码应如下:
$(document).ready(function() {
$("form").submit(function( e ) {
e.preventDefault();
$.ajax({
type: "POST",
url:"commentering",
data: $(this).serialize(),
success: function(da) {
alert(da);
var a = $("<input type='text'/>").val(da);
$("body").append(a);
},
error: function(x, s, e) {
alert('error: ' + s + ' -- ' + e);
}
});
});
});