chandra sekhar Ответов: 1

Отображение сообщения об ошибке при отсутствии записи jquery


Я хочу отобразить сообщение об ошибке, когда в jquery не найдено записей, но сообщение об ошибке не отображается.

Что я уже пробовал:

<pre lang="Javascript"> function EditApi() {

        // debugger;
        var id = $("#txtaddEmpid").val();
        var name = $("#txtaddEmpName").val();
        var salary = $("#txtaddEmpDep").val();
        var age = $("#txtaddEmpAge").val();
        $.ajax({
            url: "http://localhost:53555/api/emp/" + id,
            type: "Put",
            data: JSON.stringify([name, salary, age, id]),
            contentType: 'application/json; charset=utf-8',
            success: function (data)
            {
                Console.log(data);
                alert('Updated Successfully');
                //window.location.href = "../Index";
            },

            error: function (data)
            {
                alert('No Record Found');
            }
        });
    };

public void Put(List<string> emp, int ID)
      {

          Employee tt = tst.Employee.Find(ID);
          int id = Convert.ToInt32(emp[3]);
          int id1 = Convert.ToInt32(emp[2]);


              tt.Id = id;
              tt.Name = emp[1];
              tt.Salary = emp[0];
              tt.Age = id1;
              tst.SaveChanges();



      }

Suvendu Shekhar Giri

.и что же это за сообщение об ошибке?

F-ES Sitecore

Лучший способ справиться с этим-сделать так, чтобы ваш метод Put возвращал false, если запись не найдена, а не полагался на исключения и т. д.

1 Ответов

Рейтинг:
8

Hitesh-Systematix

почему бы вам не попробовать HttpResponseMessage на стороне api? вы легко сможете вернуть ответ с помощью пользовательского сообщения.

Ваш метод будет выглядеть примерно так:

public async Task<httpresponsemessage> Put(List<string> emp, int ID)
      {
 
          Employee tt = tst.Employee.Find(ID);
          if(tt == null)
          {
            return Request.CreateResponse(HttpStatusCode.BadRequest, "No Record Found");
          }
          int id = Convert.ToInt32(emp[3]);
          int id1 = Convert.ToInt32(emp[2]);
 

              tt.Id = id;
              tt.Name = emp[1];
              tt.Salary = emp[0];
              tt.Age = id1;
              tst.SaveChanges();
 
         return Request.CreateResponse(HttpStatusCode.OK, "success!");
      }

</string></httpresponsemessage>



* Отметьте как решение, если оно полезно для вас.


chandra sekhar

Я использовал HttpResponseMessage, но не могу увидеть никакого сообщения об ошибке в пользовательском интерфейсе

Hitesh-Systematix

вы проверили состояние ответ в успех/ошибка обратного вызова? Я уверен, что вы найдете решение из диагностики "data.status".

chandra sekhar

Как я могу проверить ответ??

Hitesh-Systematix

Попробовать это:

успех: функция (данные)
{
консоли.успех журнала('статус:'+данные.статус);
},
ошибка: функция (данные)
{
console.log('ошибка со статусом: '+data.status);
}

chandra sekhar

Спасибо,это сработало :)

chandra sekhar

Но просто я хочу знать, как jquery узнает, что произошла ошибка?