首页 > 解决方案 > SyntaxError:JSON.parse:JSON 数据的第 1 行第 1 列出现意外字符,为什么?

问题描述

我正在使用它来获取和填充表格,但出现错误:

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

我已经尝试过 JSON.parse 和一切,但仍然无法正常工作。

  $(document).ready(function () {
      var url = '@Html.Action("GetServices")';
      var data= ''

      $.get(url, data, function (response) {
          $("#tblServices").html("");
          $.each(response, function (i, val) {
              $("#tblServices")
                  .append($('<tr>').append($('<td>')
                      .html(response.ServiceID))
                  .append($('<td>').html(response.ServiceName))
                  .append($('<td>').html(response.ServicePrice)));
          });
      });

标签: javascriptjqueryjsonajaxasp.net-mvc

解决方案


造成这种情况的主要原因之一可能是@HTML.Action在下面这一行中使用here -

var url = '@Html.Action("GetServices")';

as@HTML.Action在控制器中调用子操作并返回 Html 字符串作为结果。但是,正如您期望响应中的 JSON 数据一样,它会导致错误。相反,它应该@Url.Action()返回一个要通过 $get 方法调用的 URL。


推荐阅读