我有一个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);
}
});
}现在,当用户被删除时,会出现一个标题为"Success“的弹出窗口,但result.responseText参数为空。我需要将result.responseText参数设置为“用户删除成功”,但我需要在通过url调用的删除函数中使用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的新手。
谢谢你的帮助。
发布于 2012-07-02 19:51:27
您必须返回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);
}
});
}https://stackoverflow.com/questions/11289915
复制相似问题