ajax 콜백 함수에서 ColdFusion 함수에서 여러 값을 반환해야합니다. 여기에 내가있어 무엇 :함수에서 둘 이상의 값 반환
$('input[name="StateName"]').live('change', function() {
var StateID = $(this).parents('tr').attr('id');
var StateName = $(this).val();
$.ajax({
url: 'Remote/State.cfc'
,type: "POST"
,data: {
'method': 'UpdateStateName'
,'StateID': StateID
,'StateName': StateName
}
,success: function(result){
if (isNaN(result)) {
$('#msg').text(result).addClass('err');
} else {
$('#' + result + ' input[name="StateName"]').addClass('changed');
};
}
,error: function(msg){
$('#msg').text('Connection error').addClass('err');
}
});
});
내가 트랩 데이터베이스 오류 경우 성공 콜백 해고되고, 결과가 숫자가 아님 (그것은 사실입니다, 오류 메시지의 텍스트). 다른 값을 다시 전달하는 함수가 필요합니다. 하나는 오류를 일으킨 행의 기본 키일 수 있습니다. 또 다른 하나는 이전 StateName 일 수 있으므로 클라이언트가 변경 사항이 적용되지 않았 음을 절대적으로 알 수 있도록 화면에서 이전 값을 새로 고칠 수 있습니다.
나는 여기에서 원 자성의 규칙을 어 기고 수정해야한다고 생각하는데, 결과가 업데이트 된 행의 기본 키로 사용되거나 업데이트가 실패하면 오류 메시지가 표시되기 때문에 수정해야합니다. 기본 키와 오류 메시지를 모두 반환해야합니다.
감사 파스칼 마틴있는을위한! 좋아요, 결과를 { "STATEID": 101.0, "MSG": "Hello World"}로 변경했습니다. 이제 result.msg를 어떻게 처리합니까? 그게 결과 야 .DATA.msg 아니면 뭐야? –
당신을 환영합니다 :-) jQuery를 사용하면서 http://api.jquery.com/jQuery.ajax/를 살펴보십시오. 'dataType' 옵션은'json'으로 설정할 수 있기 때문에 흥미 롭습니다; 그리고 나서,'success' 콜백은 Javascript 객체를 직접 받아야합니다; 'result.STATEID','result.MSG', ... –
그래, 난 result.MSG를 사용해야했을 때 result.msg를 사용했다. Arg! 대소 문자를 구별하는 컴퓨터 언어를 합리화 한 사람은 누구입니까? 그들은 모두 1과 0이라는 것을 모릅니다! –