2013-05-21 2 views
1

기본적으로 JS를 사용하여 DIV에 PHP를로드하려고합니다. 그 그냥이 &_=1369168657782JS에 무작위 문자열이 추가되었습니다.

처럼 너무 어떤 아이디어가 자사의 임의의 문자열을 추가에서 FNAME 문자열을 참을 수 없어, 그러나

$('#preview').load("includes/event_image_crop.php?img=" + fname); 

: 이 코드를 사용하십니까?

감사

+0

죄송가 :

여기에 유사 (반대) 질문을 참조하십시오. –

+0

그리고 파일명이 앰퍼샌드와 같은 URL에 유효하지 않은 경우를 대비하여'... + encodeUriComponent (fname)'을 사용해야합니다 – Basic

+0

'event_image_crop.php'가 사용자를 어딘가에 리디렉션합니까? – Halcyon

답변

3

이것은 캐싱을 방지하기위한 기능입니다. (당신이 _ GET 변수를 사용할 필요가없는)이 페이지에 영향을주지해야하지만, 당신이 그것을 해제해야하는 경우가 ajaxSetup를 사용 cache: true을 설정해야합니다 : 물론

$.ajaxSetup ({ 
    cache: true 
}); 

, 이안 언급,이 뜻을 페이지에서 모든 Ajax 호출에 영향을 미치므로 다른 Ajax 호출이있는 경우이를 유의해야합니다. 코드를 리팩토링하고 .load()보다 구성 가능한 기능을 사용하는 것이 좋습니다. 이 게시물에 내 실수 이잖아 - 내가 처음의 코드를 조금 미끄러 져 Stop jQuery .load response from being cached

+0

ajaxForm 플러그인을 사용하고 있습니다.이 양식 제출이 성공하면 위의 코드가 실행됩니다. 제안한 코드를 추가했지만 여전히 운이 없다. –

+1

나는 이것을 위해'$ .ajaxSetup'을 사용하는 것이 바람직하지 않을 것이다. 페이지상의 다른 모든 AJAX 요청에는이 대안이 적용됩니다. 그리고 어쨌든, 당신은 ** cache : true를 원합니다. ** 마지막에'& _ = 124234'를 원하지 않으면 – Ian

+0

예 - ajaxForm 자체에서 true로 변경했습니다. 감사합니다 : D –

관련 문제