无法使用json jquery获取数据

时间:2015-04-05 18:49:45

标签: jquery asp.net-mvc-4

尝试通过标签的Id来获取数据是脚本;

 $(document).on('click', '.call', function () {
        var nId = $(this).data("id")
        GetText(nId);
    });

    function GetText(id) {
        var callid = id;
        alert(callid);
        $.ajax({
            dataType: "json",
            type: "POST",
            contentType: "application/json",
            url: '@Url.Action("TextData","Home")',
            data: "{'callid':'" + callid+ "' }",
            success: function (data) {
                if (data.d != null) {
                    $("#text").html(data.d);

                }
                else {

                }

            },
            error: function () {
                alert("error");
            }
        });

        return false;

    }

这是控制器;

public JsonResult TextData()
    {
        var model = Db.texttable.Select(s => new HomeModel.Content
            {
                text=s.text,
            });

        return Json(model, JsonRequestBehavior.AllowGet);
    }

我可以获得Id,但我无法将文本写入名为#text的标签中,如何修复并使用较少的代码执行此操作

这是我的清单;

 @foreach (var item in Model.AyetContent)
  {
    <div><i class="fa fa-share"></i>@item.Baslik</div>
                                    @Html.Raw(item.Text)
    <div>
    @foreach (var itemDesc in Model.Ayetler.Where(o => o.Ayet == item.Id))
    {
    <div><span style="cursor:pointer;float:right;" class="call" data-id="@itemDesc.Id"><i class="fa fa-random"></i> @itemDesc.Baslik <br /></span></div><br />
     }
     </div>
     }

这是应该达到的部分

  <div class="post">
  <label id="text"></label>
   </div>

我做了这个而不是上层jquery

 $.ajax({
            url: '@Url.Action("TextData", "Home")',
            type: "GET",
            success: function (result) {
                $("#text").append(result);
                alert(result);
            }

现在返回[object Object] [object Object]

1 个答案:

答案 0 :(得分:2)

应该是:

$("#text").append(result.text);

此外,您只需要一个记录和一个匿名对象:

Db.texttable.Select(s => new { text = s.text }).First();