我试图从表格列中获取值,然后将其放入数组中,然后将其发送到我的控制器。发生了一些非常奇怪的事情,你会在下面看到:
这是我的JS代码:
var result = [];
$('td:nth-child(' + columnNbr + ')').each(function () {
var t = $(this).html();
result.push(t);
});
$.ajax({
type: "POST",
url: '@Url.Action("UpdateTable", "Home")',
dataType: "html",
traditional: true,
data: { values: result },
success: function (data) {
}
});
My Array"结果"充满了我需要的价值观。
这是我的控制器:
public ActionResult UpdateTable(List<string> values)
{
return View("index");
}
这会返回500内部错误。 让我疯狂的是这个 - &gt;如果我从我发布的内容修改我的JS:
//$('td:nth-child(' + columnNbr + ')').each(function () {
// var t = $(this).html();
// result.push(t);
//});
result.push("test1");
result.push("test2");
Ajax调用工作正常......我检查了&#34; typeof $。(this).html()&#34;而且都是字符串!
我不知道出了什么问题。
答案 0 :(得分:2)
您只需将var t = $(this).html();
更改为var t = $(this).text();
答案 1 :(得分:1)
为什么不使用 $.post()
var result = [];
$('td:nth-child('+columnNbr+')').each(function(){
result.push($(this).text());
});
$.post('@Url.Action("UpdateTable", "Home")', {values: result});
或者如果您需要回调:
$.post('@Url.Action("UpdateTable", "Home")', {values: result}, function(data){
// what to do
});