未捕获的SyntaxError:JSON.parse(Asp.net MVC)中位置0的JSON中的意外标记T

时间:2018-05-20 09:43:56

标签: ajax asp.net-mvc asp.net-ajax

我正在使用MVC应用程序开发一个网站。我使用Ajax删除特定记录。这里的事情是,删除功能在本地使用正常。

几天前,我将MVC应用程序部署到GoDaddy服务器。当我在那里测试应用程序时,我看到使用Ajax删除功能无法正常工作。

Screenshot of the Error

这是脚本。当我调试时,我可以看到id值。

[Authorize]
    [HttpDelete]
    public ActionResult Delete(int id)
    {
        try
        {
            CourseBl.Delete(id);
            return Json("Deleted Successfully");
        }
        catch(Exception ex)
        {
            throw ex;
        }
    }

要删除的控制器动作代码。

<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json" compression="on" compressionMinSize="1024" useSendfile="false" />

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

将您的ajax调用更改为

$.ajax({
    url: "@Url.Action("Delete","Course")?id=" + CourseId,
    dataType: "json",
    type: 'DELETE',
    dataType: 'json',
    cache: false,
    success: function (data) {
        deleteCourse(CourseId);
    },
    error: function (xhr) {
        alert('error');
    }
});

它应该有效。 如果没有,试试这个:

    $.ajax({
    url: "@Url.Action("Delete", "Course")",
    type: 'Post',
    data: {
      id: CourseId,
    },
    cache: false,
    dataType: 'json',
    success: function (data) {
      deleteCourse(CourseId);
    },
    error: function (jqXhr, textStatus, errorThrown) {
      alert('error');
    },
});

最后将您的操作方法更改为[HttpPost]