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
});