调用URL以在数据库中保存JSON时出错:字符串太长

时间:2014-07-21 09:28:31

标签: ajax json api

这是来自控制器api的方法:

    [HttpPost]
    public void SaveFloor(int floorID, string json)
    {
        Floor floor = db.FloorSet.Find(floorID);
        floor.SavedJson = json;
        floorRepository.Update(floor);
        floorRepository.Save();
    }

然后我做了一个ajax调用来传递URL。

   function SavingFloor(FloorId, Json) {
        $.ajax({
            url: "/api/Floor/SaveFloor?FloorID=" + FloorId + "&json=" + Json,
            type: "POST",
            dataType: 'json',
            success: function (data) {
                alert('success');
            }
        });
    }

我正在尝试在数据库中保存JSON(数据类型:nvarchar(MAX)),当我调用执行保存的URL时,我收到此错误Error HTTP 404.15 - Not Found并且它说过滤器模块应用程序已配置如果字符串太长则拒绝请求。

那么,我该怎么办?我生成的的JSON实际上是,实际上应该太长了,这就是目的。请帮忙。

1 个答案:

答案 0 :(得分:0)

将JSON字符串作为POST主体发送,而不是作为URL的一部分。将其作为文本和json_decode发送到服务器上。

function SavingFloor(FloorId, Json) {
    $.ajax({
        url: "/api/Floor/SaveFloor?FloorID=" + FloorId,
        type: "POST",
        data: Json,
        dataType: 'text/html',
        success: function (data) {
            alert('success');
        }
    });
}