[jquery] TypeError : $ .ajax (…) 함수가 아니십니까?

MySQL 데이터베이스에서 일부 데이터를 반환하는 간단한 AJAX 요청을 만들려고합니다. 아래 내 기능은 다음과 같습니다.

function AJAXrequest(url, postedData, callback) {
    $.ajax() ({
        type: 'POST',
        url: url,
        data: postedData,
        dataType: 'json',
        success: callback
    });
}

… 필요한 매개 변수를 파싱하여 여기에 전화합니다.

AJAXrequest('voting.ajax.php', imageData, function(data) {
    console.log("success!");
});

그러나 성공 콜백이 실행되지 않고 ( “성공!”이 콘솔에 기록되지 않기 때문에) 콘솔에 오류가 발생합니다.

TypeError: $.ajax(...) is not a function.
success: callback

이것은 무엇을 의미 하는가? 성공 이벤트가 $ .ajax 내에서 익명 함수를 트리거하기 전에 AJAX 요청을 수행했지만 이제는 별도의 명명 된 함수 (이 경우 콜백)를 실행하려고합니다. 어떻게하면 되나요?



답변

여기의 답변 중 어느 것도 도움이되지 않았습니다. 문제는 : jQuery의 슬림 빌드를 사용하고 있었는데, 일부는 제거되었지만 ajax는 그중 하나입니다.

해결 방법 : jQuery의 일반 (압축 또는 비 압축) 버전을 여기 에 다운로드하여 프로젝트에 포함하십시오.


답변

슬림 버전이 아닌 전체 버전의 jquery를 사용하고 있는지 다시 확인하십시오.

jquery와 함께 제공되는 jquery cdn-script 링크를 사용하고있었습니다. 문제는 이것이 기본적으로 slim.jquery.js이며, ajax기능 이없는 것입니다. 따라서 (Bootstrap 웹 사이트에서 복사하여 붙여 넣은) 슬림 버전 jquery 스크립트 링크를 사용하는 경우 전체 버전을 대신 사용하십시오.

즉, <script src="https://code.jquery.com/jquery-3.1.1.min.js">
대신에
사용
<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js"


답변

확실하지 않지만 코드에 구문 오류가있는 것 같습니다. 시험:

$.ajax({
  type: 'POST',
  url: url,
  data: postedData,
  dataType: 'json',
  success: callback
});

옆에 추가 괄호 $.ajax가 필요하지 않았습니다. 여전히 오류가 발생하면 jQuery 스크립트 파일이로드되지 않은 것입니다.


답변

를 체크 아웃 JQuery와 문서

지원 중단 공지 : jqXHR.success (), jqXHR.error () 및 jqXHR.complete () 콜백은 jQuery 3.0부터 제거되었습니다. 대신 jqXHR.done (), jqXHR.fail () 및 jqXHR.always ()를 사용할 수 있습니다.


답변

AJAX 함수에 오류가 있습니다. 대괄호가 너무 많습니다. 대신 시도하십시오 $.ajax({


답변

아약스가 포함 된 jquery 최소 버전을 참조하십시오.

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>


답변

인수 목록을 정의하기 위해 ajax 함수 및 괄호 세트 뒤에 괄호를 배치하면 구문 오류가 있습니다.

당신이 쓴대로 :-

$.ajax() ({
    type: 'POST',
    url: url,
    data: postedData,
    dataType: 'json',
    success: callback
});

아약스 주위의 괄호는 제거해야합니다 :-

$.ajax({
    type: 'POST',
    url: url,
    data: postedData,
    dataType: 'json',
    success: callback
});