아니 왜 되던게 안되는거야?
ajax 처리를 할때 beforeSend에다가 코드를 작성해주면, request를 보내기 전에 작동한다. 난 요청을 보낼때 로딩을 달거나, 화면을 까맣게 만들어 request를 여러번 날리는 걸 막는데에 활용해오곤 했다.(가장 의도와 맞는 사용법은 언제나 jquery)
잘쓰고 있었는데 어느날 얘가 또 안되기 시작했다. 아래와 같이 코드를 돌렸다.
/*소스 코드는 http://api.jquery.com/jquery.ajax/ 에서 퍼왔다. 안돌아가는 예임 */
$.ajax({
url: "https://fiddle.jshell.net/favicon.png",
beforesend: function( xhr ) {
xhr.overrideMimeType( "text/plain; charset=x-user-defined" );
}
}).done(function( data ) {
if ( console && console.log ) {
console.log( "Sample of data:", data.slice( 0, 100 ) );
}
});
이렇게하면 beforesend가 안먹는다.
왜냐하면 beforesend가 아니라 beforeSend니까!!!!!!!
아래처럼 하면 돌아간다.
/*소스 코드는 http://api.jquery.com/jquery.ajax/ 에서 퍼왔다. */
$.ajax({
url: "https://fiddle.jshell.net/favicon.png",
beforeSend: function( xhr ) {
xhr.overrideMimeType( "text/plain; charset=x-user-defined" );
}
}).done(function( data ) {
if ( console && console.log ) {
console.log( "Sample of data:", data.slice( 0, 100 ) );
}
});
그리고 beforeSend안에 있는 함수가 return false를 내뱉으면 request가 취소되는 것을 명심해야한다. 아! 또 async:false 달아둬서도 안된다.
오늘도 너무 보람차고 수치스러운 하루였다 :->
'개발개발 > shoveling shoveling' 카테고리의 다른 글
sql select 문에서 대소문자 (0) | 2018.10.13 |
---|---|
error: pathspec .... 을 내뱉으며 브랜치 체크아웃이 안될때는 fetch를 하세요 (0) | 2018.08.22 |