返回坏值json

时间:2014-05-20 21:13:54

标签: javascript jquery asp.net-mvc-3

我有一个脚本将值发送到控制器。当数字的值时,一切正常。值较大时,仅显示最后一位数字。分配给刚性的字符串。控制器上显示的调试器是传递的值是正确的。

脚本

...
$.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。 为什么会这样?为什么返回值会被截断?

2 个答案:

答案 0 :(得分:1)

看起来结果被视为char数组。当您遍历data时,它会将最后一个char设置为输入的值。摆脱循环,它应该没问题。

document.getElementById("sum").value = data;

答案 1 :(得分:1)

查看jQuery each function

将字符串中的最后一个字符设置为值。

你想要做的只是设置值等于没有循环返回的数据。

我会用这个:

   $.ajax({
// edit to add steve's suggestion.
url: "/ControllerName/ActionName",
success: function(data) {
     document.getElementById("sum").value = data;
}
});