在我的应用程序中,我想从服务器到客户端响应操作的状态,例如,从客户端以格式json发送数据到服务器,我希望这响应操作的白名状态,如果这些数据已正确插入在数据库中发送状态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中实现的,我使用带有ajax的javascript将格式为json的数据从客户端发送到服务器。
由于
答案 0 :(得分:1)
您可以通过以下方式完成:
$.ajax({
statusCode: {
404: function() {
alert( "page not found" );
},
200: function() {
alert("insert done..!!!");
},
}
});
这可能会对你有所帮助。
See JQuery API for more option.
编辑:根据我的理解,你想检查成功或错误函数中的状态代码
success: function(data , textStatus, jqXHR) {
alert(data.id );
var statusCode = jqXHR.status
if(statusCode == 200 ){
//Your code execute if status is 200
}
}
同样明智的你也可以在错误功能中做到这一点。
答案 1 :(得分:0)
在您的ajax调用成功函数执行时,服务器发送状态200代码。除此之外,您的错误功能仅执行。
如果您想单独处理错误状态,可以使用返回状态处理错误功能。