2013-12-12 5 views
0

В моем приложении я хочу ответить от сервера к клиенту о состоянии операции, например, от клиента отправляет данные в формате json на сервер, и я хочу, чтобы это отвечало на статус whit операции, если эти данные правильно вставлены в базу данных для отправки статуса 200, ...статус ответа от сервера к клиенту

У меня теперь есть это.

Клиент:

function sendAjax() { 

     //I build the params necessary to send to server in format json 

     $.ajax({ 
      url: "/url", 
      type: 'POST', 
      dataType: 'json', 
      data: param, 
      contentType: 'application/json', 
      mimeType: 'application/json', 
      success: function(data) { 
       alert(data.id); 
      }, 
      error: function(data,status,er) { 
       alert("error: "+data+" status: "+status+" er:"+er); 
      } 
     }); 
     alert(); 
    } 

Сервер:

Controller.java

@RequestMapping(value = "/", method = RequestMethod.POST) 
    public @ResponseBody 
    ResponseJson post (@RequestBody String string){ 
    //I have the operations necessary to insert in database 
    ResponseJson pruebaJson = new ResponseJson(); 
    pruebaJson.setId (id); 
    return pruebaJson; 
} 

ResponseJson.java

public class ResponseJson implements Serializable 
{ 
    private String id; 

    public String getId() 
    { 
     return id; 
    } 

    public void setId (String id) 
    { 
     this.id = id; 
    } 
} 

Как будет обрабатывать статус, сервер отправки клиенту ? это, если я получаю статус 200 или другой статус.

Мое приложение реализовано в spring-mvc, и я использую javascript с ajax для отправки данных в формате json от клиента к серверу.

Благодаря

ответ

0

В функции успеха вызов AJAX выполняется, когда сервер посылает 200 Статус кода. кроме того, что выполняется только функция ошибки.

Если вы хотите обрабатывать статус ошибки отдельно, вы можете обработать функцию ошибки с возвратом.

1

Вы можете сделать это с помощью:

$.ajax({ 
     statusCode: { 
      404: function() { 
       alert("page not found"); 
      }, 
      200: function() { 
       alert("insert done..!!!"); 
      }, 
     } 
    }); 

Это может помочь вам.

See JQuery API for more option.

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

 success: function(data , textStatus, jqXHR) { 
      alert(data.id); 
      var statusCode = jqXHR.status 
      if(statusCode == 200){ 
       //Your code execute if status is 200 
      } 
     } 

как мудрый вы можете сделать это в функции ошибки также.

+1

Хорошо, это было полезно для меня, но я хочу отправить с сервера клиенту статус для этого клиента в функции ajax, который я должен реализовать выше, для метода успеха или метода ошибки. – Ltcs

+1

@Ltcs вы хотите установить код состояния со стороны сервера? –

+1

На стороне клиента я реализовал функцию ajax, которая отправляет данные в формате json, и это метод успеха и метод ошибки, и я хочу реализовать на стороне сервера, что если я правильно вставляю, то я могу отправить клиенту некоторый код для этого для успешного выполнения метода, и если он вставляет плохо в базу данных, я могу отправить сообщение об ошибке для выполнения в методе ошибок. Я не знаю, хорошо ли объясню, извините! – Ltcs

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