2012-07-02 2 views
0

사용자가 actioncolum에서 행 삭제 아이콘을 클릭 할 때 호출되는 DeleteUser 함수가 있습니다. 여기 함수에 대한 코드입니다 : 바로 지금, 사용자가 삭제 될 때RenderText/JsonConvert

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를 사용하여 전달해야합니다.

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

사람이이 작업을 수행하는 방법에 관한 어떤 조언이 있습니까 : 여기 는 URL을 통해 호출되는 삭제 기능에 대한 코드 '사용자// 성 삭제'인가? 나는 Ajax 요청과 JSON에 익숙하지 않다.

도움 주셔서 감사합니다.

답변

0

당신은 클라이언트에

{ success = true, message = 'Your message'} 

같은 JSON 개체를 반환해야합니다.

서버 코드 :

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

} 
}); 
} 
+0

내 대답을 편집했습니다. 성공 처리 = 잘못된 시나리오에 대한 정보 포함. 행운을 빕니다! – jorel

+0

고마워요! 그것은 효과가있다! 그러나, 나는 코드에서 어떤 일이 일어나고 있는지 정말로 이해하지 못한다. 어떻게 obj가 resp에 링크되어 있습니까? 정확히 여기서 무슨 일이 일어나고있는거야? 또한 success = false 인 경우 "오류! 사용자가 삭제되지 않았습니다!"라는 메시지가 나타납니다. 코드 줄 내에서 if-else 문을 작성해야합니까? var obj = new {success = true, message = "성공 메시지"}? 나는 그 일을 시도했지만 그것은 나에게 오류를 준다. 다시 한 번 감사드립니다! - – anitacynax