我有一个DeleteUser函数,当用户单击actioncolum中的删除行图标时会调用该函数。 以下是该函数的代码:
function DeleteUser(id) {
Ext.Ajax.request ({
url: 'user/delete/castle',
params: {id: id},
success: function (result,request){
Ext.MessageBox.alert('Success', result.responseText);
},
failure: function (result, request){
alert(result.responseText);
}
});
}
现在,当用户被删除时,会出现一个标题为“成功”的弹出窗口,但result.responseText参数为空。 我需要将result.responseText参数设置为“User deleted successfully”,但我需要通过在通过url调用的delete函数中使用RenderText来传递它。 以下是通过url'user / delete / castle'调用的delete函数的代码:
public void Delete (int id){
CancelView();
CancelLayout();
User user = User.FindUser(id);
user.Delete();
RenderText(JsonConvert.SerializeObject(???));
}
有没有人有关于如何做到这一点的任何提示?我是Ajax请求和JSON的新手。
感谢您的帮助。
答案 0 :(得分:0)
您必须返回一个像
这样的JSON对象{ success = true, message = 'Your message'}
给客户。 这是做到这一点的方法:
服务器代码:
var obj = new {success = true, message = "Your success message"}
RenderText(JsonConvert.SerializeObject(obj));
要通知失败,您可以在上面的代码中设置success = false
。
客户代码:
function DeleteUser(id) {
Ext.Ajax.request ({
url: 'user/delete/castle',
params: {id: id},
success: function (response) {
var resp = Ext.decode(response.responseText);
alert(resp.message);
if (success == false)
{
// perform any specific error handling task
}
},
failure: function (result, request){
// Usually this function is called on communication failures. Not called if success = false
alert(result.responseText);
}
});
}