Как решить ошибку HTTP 404.15 - PullRequest
0 голосов
/ 06 июля 2018

моя проблема, когда я пытаюсь сделать запрос в ajax, в данный момент для отправки информации я получил эту ошибку:

Модуль фильтрации запросов настроен на отклонение запроса, если строка запроса слишком длинная.

Я видел, что проблема в огромном количестве информации, которую я посылаю через запрос GET. у кого-то есть решение этой проблемы?

здесь я оставляю пример из ajax и контроллера, который я использую

$.ajax({
        type: "GET",
        url: "@Url.Action("nuevaTarjetaCapacitacion", "TarjetaCapacitacion")",
        scriptCharset: "iso-8859-1",
        dataType: "json",
        contentType: "application/json; charset=iso-8859-1",
        data: {
            TarjetaCapacitacionId: $("#TarjetaCapacitacionId").val(),
            NombreCurso: $("#NombreCurso").val(),
            Descripcion: $("#Descripcion").val(),
            FechaInicio: $("#FechaInicio").val(),
            FechaFin: $("#FechaFin").val(),
            //TipoCurso: $("#TipoCurso").val(),
            Departamentos: tarjetaCapacitacion.Departamentos.toString(),
            Puestos: tarjetaCapacitacion.Puestos.toString(),
            Personal: tarjetaCapacitacion.Personal.toString(),
            Instructores: tarjetaCapacitacion.Instructores.toString(),
            InstructoresExternos: JSON.stringify(tarjetaCapacitacion.InstructoresExternos),
            Documentos: tarjetaCapacitacion.Documentos.toString(),
            AprobacionId: $("#AprobacionId").val()
        }


public JsonObject nuevaTarjetaCapacitacion(string NombreCurso, string Descripcion, string FechaInicio, string FechaFin, /*string TipoCurso,*/ string Departamentos, string Puestos, string Personal, string Instructores, string InstructoresExternos, string Documentos, int? AprobacionId)
    {
    }

Ответы [ 3 ]

0 голосов
/ 06 июля 2018

Проверьте здесь: https://forums.asp.net/t/2024846.aspx?HTTP+Error+404+15+query+url+too+long

Модуль фильтрации запросов настроен на отклонение запроса, если строка запроса слишком длинная. Глядя на запрашиваемый URL, я вижу это:

http://localhost:51358/Account/Login?ReturnUrl=%2FAccount%2FLogin%3FReturnUrl%3D%252FAccount%252FLogin%253FReturnUrl%253D%25252FAccount%25252FLogin%25253FReturnUrl%25253D%2525252FAccount%2525252FLogin%2525253FReturnUrl%2525253D%252525252FAccount%252525252FLogin%252525253FReturnUrl%252525253D%25252525252FAccount%25252525252FLogin%25252525253FReturnUrl%25252525253D%2525252525252FAccount%2525252525252FLogin%2525252525253FReturnUrl%2525252525253D%252525252525252FAccount%252525252525252FLogin%252525252525253FReturnUrl%252525252525253D%25252525252525252FAccount%25252525252525252FLogin%25252525252525253FReturnUrl%25252525252525253D%2525252525252525252FAccount%2525252525252525252FLogin%2525252525252525253FReturnUrl%2525252525252525253D%252525252525252525252FAccount%252525252525252525252FLogin%252525252525252525253FReturnUrl%252525252525252525253D%25252525252525252525252FAccount%25252525252525252525252FLogin%25252525252525252525253FReturnUrl%25252525252525252525253D%2525252525252525252525252FAccount%2525252525252525252525252FLogin%2525252525252525252525253FReturnUrl%2525252525252525252525253D%252525252525252525252525252FAccount%252525252525252525252525252FLogin%252525252525252525252525253FReturnUrl%252525252525252525252525253D%25252525252525252525252525252FAccount%25252525252525252525252525252FLogin%25252525252525252525252525253FReturnUrl%25252525252525252525252525253D%2525252525252525252525252525252FAccount%2525252525252525252525252525252FLogin%2525252525252525252525252525253FReturnUrl%2525252525252525252525252525253D%252525252525252525252525252525252FAccount%252525252525252525252525252525252FLogin%252525252525252525252525252525253FReturnUrl%252525252525252525252525252525253D%25252525252525252525252525252525252FAccount%25252525252525252525252525252525252FLogin%25252525252525252525252525252525253FReturnUrl%25252525252525252525252525252525253D%2525252525252525252525252525252525252FAccount%2525252525252525252525252525252525252FLogin%2525252525252525252525252525252525253FReturnUrl%2525252525252525252525252525252525253D%252525252525252525252525252525252525252FAccount%252525252525252525252525252525252525252FLogin%252525252525252525252525252525252525253FReturnUrl%252525252525252525252525252525252525253D%25252525252525252525252525252525252525252F

Кажется, где-то петля перенаправления. Я подозреваю, что-то в конфигурации IIS Express, но я понятия не имею, что это может быть (это в основном

0 голосов
/ 06 июля 2018
$.ajax({
            type: "GET",
            url: "@Url.Action("nuevaTarjetaCapacitacion", "TarjetaCapacitacion")",
            scriptCharset: "iso-8859-1",
            dataType: "json",
            contentType: "application/json; charset=iso-8859-1",
            data: {
                TarjetaCapacitacionId: $("#TarjetaCapacitacionId").val(),
                NombreCurso: $("#NombreCurso").val(),
                Descripcion: $("#Descripcion").val(),
                FechaInicio: $("#FechaInicio").val(),
                FechaFin: $("#FechaFin").val(),
                //TipoCurso: $("#TipoCurso").val(),
                Departamentos: tarjetaCapacitacion.Departamentos.toString(),
                Puestos: tarjetaCapacitacion.Puestos.toString(),
                Personal: tarjetaCapacitacion.Personal.toString(),
                Instructores: tarjetaCapacitacion.Instructores.toString(),
                InstructoresExternos: JSON.stringify(tarjetaCapacitacion.InstructoresExternos),
                Documentos: tarjetaCapacitacion.Documentos.toString(),
                AprobacionId: $("#AprobacionId").val()
                   }
               });

 public JsonResult nuevaTarjetaCapacitacion(string NombreCurso, string Descripcion, string FechaInicio, string FechaFin, /*string TipoCurso,*/ string Departamentos, string Puestos, string Personal, string Instructores, string InstructoresExternos, string Documentos, int? AprobacionId)
        {
            Json("", JsonRequestBehavior.AllowGet)
        }

Вы должны использовать return Json("", JsonRequestBehavior.AllowGet) вместо return Json(""), в противном случае вы получите сообщение об ошибке "Этот запрос был заблокирован, поскольку конфиденциальная информация может быть раскрыта сторонним веб-сайтам, когда она используется в запросе GET. Чтобы разрешить запросы GET, установите для JsonRequestBehavior значение AllowGet. "

0 голосов
/ 06 июля 2018

Вы можете использовать POST вместо GET. Таким образом, данные будут в теле запроса HTTP-запроса, а не в строке запроса.

...