Mozilla의 개인 인증 (예 : browserid)을 구현하고 있습니다. 그래서, 나는 다음과 같은 onLogin()를 가지고jQuery ajax 호출이 PHP 페이지를 호출하지 않습니다.
"경고 ("다시로드 않습니다 ")"나는 일반적으로 window.location.reload() 호출이 거기에function onLogin(pAssertion) {
var sPHPSessionID = $.cookies.get("PHPSESSID")+'';
var sFoolCache = new Date().getTime() + '' + Math.random();
$.ajax(
{
cache: false,
type: 'POST',
url: '/webservice.php?id=personaauth&u=i',
data: { assertion: pAssertion, PHPSESSID: sPHPSessionID, z: sFoolCache },
success: function(res, status, xhr) { alert("do reload"); },
error: function(xhr, status, err) {
navigator.id.logout();
alert("Login failure: " + err);
}
});
}
. 그럼에도 불구하고 브라우저 캐시 (Firefox)를 지우고 사용하지 않기위한 모든 노력, 내 /webservice.php 페이지가 전혀 호출되지 않습니다. 아약스 호출은 즉시 코드에서 "reload()"호출을 남겨두면 "success"함수를 실행합니다.이 함수는 극적인 루프에서 윈도우를 다시로드하는 기능을 유지합니다. 내 /webservice.php 호출에서 PHP 세션 ID가 필요하므로 페이지에 PHPSESSIONID 쿠키를 전달합니다.
나는 내 파이어 폭스 캐시를 지웠다. 브라우저를 닫았지만 URL에 'sFoolCache'변수를 추가했지만 게시물은 그렇지 않습니다.하지만 작동하지 않았습니다. 나는 길을 잃었다. 그것은이 경우에 도움이 등장
제 생각에 webservice.php가 최상위 디렉토리에 있지 않습니다. 브라우저에 http : // /webservice.php을 입력하면 어떤 응답을 얻으실 수 있습니까? –
andy
또한 '성공', '오류'및 그러한 속성은 jQuery 1.8에서 사라집니다. 대신'$ .ajax(). done (function (data) {/ * ... * /})'를 사용하십시오. 자세한 내용은 [here] (http://api.jquery.com/jquery.ajax/)를 확인하십시오. –
나는 내 webservice.php URL이 좋았다는 것을 알고 있었고, 내 질문에 Andy에게 감사한다고 말 했어야했다. @Michal : Pheew!, blabla.done(). 그리고 그렇게했습니다. 굉장해! 감사합니다 :-) – franchsesko