我有一个脚本将值发送到控制器。当数字的值时,一切正常。值较大时,仅显示最后一位数字。分配给刚性的字符串。控制器上显示的调试器是传递的值是正确的。
脚本
...
$.each(data, function (i, kkk) {
document.getElementById("sum").value = kkk
});
控制器
public ActionResult Fun(int some, int some1)
{
string xxx = "18";
if (HttpContext.Request.IsAjaxRequest())
return Json(xxx
, JsonRequestBehavior.AllowGet);
return RedirectToAction("Index");
}
视图
<input type="text" name="sum" id="sum"/>
显示8 ...应该是18。 为什么会这样?为什么返回值会被截断?
答案 0 :(得分:1)
看起来结果被视为char数组。当您遍历data
时,它会将最后一个char设置为输入的值。摆脱循环,它应该没问题。
document.getElementById("sum").value = data;
答案 1 :(得分:1)
将字符串中的最后一个字符设置为值。
你想要做的只是设置值等于没有循环返回的数据。
我会用这个:
$.ajax({
// edit to add steve's suggestion.
url: "/ControllerName/ActionName",
success: function(data) {
document.getElementById("sum").value = data;
}
});