SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

Thảo luận trong 'Lập Trình Website MVC5 & MVC6' bắt đầu bởi seolagi, 26/8/18.

  1. seolagi
    Tham gia ngày:
    16/4/14
    Bài viết:
    1,028
    Đã được thích:
    80
    Điểm thành tích:
    48
    Lỗi : SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data khi dùng code asp.net C# mô hình MVC linq
    Mình khi lưu dữ liệu xuống bằng HttpPost để trả về model Và lưu dữ liệu bằng.

    dbc.Entry(model).State = System.Data.Entity.EntityState.Modified;
    dbc.SaveChanges();

    Sau đó mình return View(model); này lên view cũ. Thì bị lỗi : SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data. Lưu thì được bình thường mà không hiểu sao lại bị lỗi đó.

    Mình sử dụng web asp.net mô hình MVC5, code C# linq.
     
    Cảm ơn đã xem bài:

    SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

  2. admin
    Tham gia ngày:
    22/5/13
    Bài viết:
    4,895
    Đã được thích:
    1,198
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Hi bạn, lỗi này thường mình cũng hay bị là do dụng code giữa các View của bạn và PartialView trên web của bạn. Do đụng Html.BeginForm hoặc Ajax, Javascript mà gây ra.
    Cách tốt nhất để test dữ liệu xem nó bị chỗ nào thường mình hay làm là:

    Ví dụ mình có 1 Layout.cshtml như sau:
    Mã:
    <!DOCTYPE html>
    <html lang="vi">
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="Shortcut Icon" href="~/images/icon.ico" type="image/x-icon">
        <title>@ViewBag.Title</title>
        <meta name="description" content="@ViewBag.Description" />
        @Styles.Render("~/Content/css")
        @Scripts.Render("~/bundles/modernizr")
        @Scripts.Render("~/bundles/jquery")
        @Scripts.Render("~/bundles/bootstrap")
        @RenderSection("scripts", required: false)
    </head>
    <body>
    <div class="cs-maincontent cs-homelayout">
        <!--Menu-->
        @Html.Action("_Menu", "Home")
        <!--Menu-->
        <div class="nn-sheet">
            <article>
                <div class="nn-body">
                    @RenderBody()
                </div>
            </article>
        </div>
        @Html.Partial("_Footer")
    </div>
    </body>
    </html>
    
    • Dữ liệu bị lỗi ở View lưu của bạn là ở @RenderBody()
    • Bạn ẩn các Action, PartialView đi rồi vào test từ từ, xem nó bị đụng code chỗ nào và tìm phương án sửa tiếp.
    • Ví dụ mình ẩn cái @Html.Partial("_Footer") test xem nó chạy còn bị lỗi ko?
    • Nếu bị lỗi bạn ẩn tiếp tới @Html.Action("_Menu", "Home")
    • Và tiếp tục ấn tới các @Styles.Render("~/Content/css") ....
    • Khi nào tìm ra được chỗ gây ra lỗi, rồi vào code đó tiếp để tìm cách xử lý
     
    seolagi thích bài này.
  3. seolagi
    Tham gia ngày:
    16/4/14
    Bài viết:
    1,028
    Đã được thích:
    80
    Điểm thành tích:
    48
    Cảm ơn AD, mình tìm ra được rồi, ẩn theo cách của admin tìm ngay ra nó đụng ở phần
    @Html.Action("_Menu", "Search") của Layout web mình, hihi cảm ơn ad nhiều