Sencha form ajax

2024. 9. 1. 23:12Javascript/Sencha

Client

buttons: [
	{
		text: 'Submit',
		handler: function(button) {
			let form = button.up('form').getForm();
			
			if(form.isValid()) {
				form.submit({
					url: '/test',
					method: 'POST',
					waitMsg: 'Submitting your data...',
					success: function(form, action) {
						let response = Ext.decode(action.response.responseText);
						if(response.data == 1) {
                        	// controller 함수 호출
							let controller = button.up('form').getController();
							controller.selectInfo();
						}
					},
					failure: function(form, action) {
						Ext.Msg.alert('Fail', 'Fail!!');
					}
				});
			}
		}
	},
	{
        text: 'Close',
        handler: function(button) {
        	// pupup으로 호출된 경우 창 닫기
            var window = button.up('window');
            if (window) {
                window.close(); // Close the window
            }
        }
	}
],
controller: {
	selectInfo: function() {
		alert('Info');
	}
}

Server

	@RequestMapping("/test")
	public Map<String, Object> test(HttpServletRequest request) {
        Map<String, Object> response = new HashMap<>();
        response.put("success", true);
        response.put("data", 1);
		return response;
	}

'Javascript > Sencha' 카테고리의 다른 글

Sencha 컴포넌트(xtype)의 config에 스크립트로 값 지정하기  (0) 2024.10.01
Sencha tabpanel에 close icon(x) 추가  (0) 2024.09.07
Sencha Form combobox  (1) 2024.09.01
Sencha 'itemId' 다루기  (0) 2024.09.01
Sencha Ajax 호출  (0) 2024.09.01