0

ユーザーがアクション列の行削除アイコンをクリックすると呼び出される DeleteUser 関数があります。関数のコードは次のとおりです。

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);
}
});
}

現在、ユーザーが削除されると、「成功」というタイトルのポップアップが表示されますが、responseText パラメーターは空です。result.responseText パラメーターを「ユーザーが正常に削除されました」にする必要がありますが、URL を介して呼び出される削除関数で RenderText を使用して渡す必要があります。URL 'user/delete/castle' を介して呼び出される削除関数のコードは次のとおりです。

public void Delete (int id){
CancelView();
CancelLayout();
User user = User.FindUser(id);
user.Delete();
RenderText(JsonConvert.SerializeObject(???));
}

これを行う方法に関するヒントはありますか?Ajax リクエストと JSON は初めてです。

助けてくれてありがとう。

4

1 に答える 1

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);

}
});
}
于 2012-07-02T11:51:27.307 に答える