Ajax 호출 후 페이지 새로 고침을 중지하는 방법은 무엇입니까?
Ajax 호출 후 페이지 새로 고침을 중지할 수 없습니다.e.proventDefault()를 입력하고 false를 반환하려고 시도했지만 페이지가 새로 고쳐졌습니다.
나는 코드 같은 것에 무슨 문제가 있는지 모릅니다.Ajax 호출 후 페이지 새로 고침을 중지할 수 있도록 도와주세요. 이 문제를 해결하는 것이 저에게 큰 도움이 될 것입니다.잘 부탁드립니다.
내 코드는 다음과 같습니다.
$(document).ready(function() {
$('#loginForm').on('click', function(e) {
e.preventDefault();
var formData = {
'uname' : $('#uname').val(),
'pwd' : $('#pwd').val()
};
$.ajax({
type : "POST",
url : "getresults.php",
data : formData
}).done(function(data) {
alert(data+"This is working");
}).fail(function(data) {
alert("This is not working");
});
});
});
추가 중type="button"
버튼의 속성은 제 문제를 해결했습니다.그렇지 않으면 제출 작업으로 해석되었습니다.
ID입니다.#loginForm
폼을 가리킬까요?Yes(예)인 경우 클릭 대신 Submit 이벤트를 들어야 합니다.클릭 이벤트를 정말로 들어야 하는 경우 이벤트를 제출 버튼 또는 트리거에 바인딩해야 합니다.form.submit()
.
다음과 같은 방법을 사용해 보십시오.
$('#loginForm').on('submit', function(e) {
e.preventDefault();
e.stopPropagation(); // only neccessary if something above is listening to the (default-)event too
[YOUR CODE GOES HERE]
});
이것이 당신에게 도움이 될 것입니다.
이것은 오늘 밤 일찍 저에게 일어나고 있었고, 저는 이 질문으로 가는 길을 찾았습니다. 이것은 승산이 없을지도 모르지만 저는 제 문제가 무엇인지 깨달았고 이것이 미래에 이것을 다루는 데 도움이 될 것이라고 생각했습니다.
당신은 다음과 같은 것을 사용하고 있습니까?live-server
로컬 또는 동일한 작업 폴더에 새 파일이 나타날 경우 로컬 코드를 지능적으로 새로 고치는 다른 형태의 스크립트?그렇다면 - 페이지가 새로워지는 것은 코드 때문이 아니라, Ajax를 호출한 것이 작업 중인 폴더를 조작하여 페이지가 '업데이트'되었기 때문입니다.
클릭 기능 이후에 리턴 false를 추가하는 것만으로도 페이지가 새로 고쳐지지 않을 것이라고 생각합니다.
라이브 서버 확장 또는 HTML 페이지 새로 고침과 같은 기능을 설정한 경우 이 문제가 발생할 수 있습니다.
언급URL : https://stackoverflow.com/questions/27759380/how-to-stop-refreshing-page-after-ajax-call
'programing' 카테고리의 다른 글
Twitter 부트스트랩 3 스티커 바닥글 (0) | 2023.08.17 |
---|---|
jQuery - 다중: 선택기 아님 (0) | 2023.08.17 |
기존에 없는 CSS 클래스를 사용할 수 있습니까? (0) | 2023.08.12 |
셀레늄 - 크롬 드라이버 실행 파일은 PATH에 있어야 합니다. (0) | 2023.08.12 |
SQL Server에서 기본값 수정 (0) | 2023.08.12 |