2010-05-24 2 views
0

У меня есть сообщение ajax и в контроллере я ничего не возвращаю. В случае сбоя отображается сообщение об ошибке с последующим кодом?Будет ли отображаться ошибка?

[AcceptVerbs(HttpVerbs.Post)] 
    public void Edit(Model model) 
    { 
      model.Save(); 
    } 

$.ajax({ 
      type: "POST", 
      url: '<%=Url.Action("Edit","test") %>', 
      data: JSON.stringify(data), 
      contentType: "application/json; charset=utf-8", 
      dataType: "html", 
      success: function() { 
      }, 
      error: function(request, status, error) { 
       alert("Error: " & request.responseText); 
      } 
     }); 

ответ

1

Я бы порекомендовал вам возвращающий пустой результат:

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult Edit(Model model) 
{ 
    model.Save(); 
    return new EmptyResult(); 
} 

также нет необходимости указывать тип данных:

$.ajax({ 
    type: "POST", 
    url: '<%=Url.Action("Edit","test") %>', 
    data: JSON.stringify(data), 
    contentType: "application/json; charset=utf-8", 
    success: function() { 
    }, 
    error: function(request, status, error) { 
     alert("Error"); 
    } 
}); 

В случае, если сервер возвращает код состояния, отличный от 200 error будет вызываться обратный вызов.

Смежные вопросы