찾다

 >  Q&A  >  본문

AJAX 성공 시 함수를 호출할 수 없습니다.

<p>Ajax에서는 대부분의 jQuery를 성공적으로 사용할 수 없습니다. 내 알림(토스트) div에 표시할 응답의 오류 메시지를 가져오려고 하는데 <code>.show()</code> 및 <code>.hide()< /code> 시도해도 아무것도 작동하지 않습니다. </p> <p><code>console.log()</code>를 사용하여 URL의 응답을 디코딩하고 모든 것이 예상대로 작동하는지 확인했지만 Ajax 내부에서 함수를 호출할 수 없습니다. 성공 함수< ;/ p> <p>이것은 버튼 클릭 시 실행되는 현재 JS입니다. </p> <pre class="brush:php;toolbar:false;">function errMsg(code, msg) { const eCode = '<b>E-NS: ' + 코드 + ' </b> + msg; const eMsg = '<span class="err" style="color: red;">' + eCode + '</span>'; $('.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 = '<b>E-NS: ' + response.code + ' </b> + response.error; var eMsg = '<span class="err>' + eCode + '</span>'; $('.notify').empty().html(eMsg); } } }) }) )}</pre> <p>PHP나 jQuery에는 오류나 경고가 없다는 점에 유의하는 것이 중요합니다. 저는 AJAX를 처음 접했기 때문에 이것이 제가 할 수 있는 일인지 완전히 확신할 수 없습니다. 비록 충분히 논리적인 것처럼 보이지만, 그렇지 않습니까? </p>
P粉020556231P粉020556231480일 전561

모든 응답(2)나는 대답할 것이다

  • P粉038161873

    P粉0381618732023-09-03 13:09:00

    JSON 形式发送数据时,jQuery 方法 .ajax() 需要传入对象的 data 属性中的一个对象唯一的论点。您的 jQuery.serialize() 函数为 URL 创建参数字符串。这在这里行不通。您应该使用jQuery.serializeArray()

    로 바꿔야 합니다.

    으아악 으아악 으아악

    서버가 무엇을 다시 보낼지 확인해야 합니다. 내 더미 JSON API의 경우 .status 속성이 다시 전송되지 않습니다. 따라서 테스트할 필요가 없습니다.

    회신하다
    0
  • P粉872182023

    P粉8721820232023-09-03 09:36:17

    토스트 div를 숨겼습니다($('.notify')),直到 div 中有文本。但是,我忽略了添加显示此内容的函数(如下所示),并且在使用 errorCheck()success함수 코드에서 토스트 후에 호출하지 않음>

    으아악

    회신하다
    0
  • 취소회신하다