Ajax에서는 대부분의 jQuery를 성공적으로 사용할 수 없습니다. 내 알림(토스트) div에 표시할 응답의 오류 메시지를 가져오려고 하는데 .show()
및 .hide()< /code> 시도해도 아무것도 작동하지 않습니다.
console.log()
를 사용하여 URL의 응답을 디코딩하고 모든 것이 예상대로 작동하는지 확인했지만 Ajax 내부에서 함수를 호출할 수 없습니다. 성공 함수< ;/ p>
이것은 버튼 클릭 시 실행되는 현재 JS입니다.
function errMsg(code, msg) { const eCode = 'E-NS: ' + 코드 + ' + msg; const eMsg = '' + eCode + ''; $('.notify').empty().html(eMsg); } $(문서).ready(함수() { $('#next-1').click(함수(e) { e.preventDefault(); $.아약스({ URL:'../data.php', 메소드: 'POST', 데이터: $('#form-1').serializeArray(), 데이터 유형: 'JSON', 성공:함수(응답){ if(response.status === true){ $('#form-1').hide(); $('#form-2').show(); } 또 다른 { console.log(response.status); console.log('응답 = ' + response.code + response.error); errMsg(response.code, response.error); var eCode = 'E-NS: ' + response.code + ' + response.error; var eMsg = '
는
로 바꿔야 합니다.JSON
形式发送数据时,jQuery 方法.ajax()
需要传入对象的data
属性中的一个对象唯一的论点。您的jQuery.serialize()
函数为 URL 创建参数字符串。这在这里行不通。您应该使用jQuery.serializeArray()
:서버가 무엇을 다시 보낼지 확인해야 합니다. 내 더미 JSON API의 경우
.status
속성이 다시 전송되지 않습니다. 따라서 테스트할 필요가 없습니다.토스트 div를 숨겼습니다(
으아악$('.notify')
),直到 div 中有文本。但是,我忽略了添加显示此内容的函数(如下所示),并且在使用errorCheck() 更新 AJAX
success
함수 코드에서 토스트 후에 호출하지 않음>