'beforeunload'이벤트에서 JSONP를 서버에 호출하려고합니다. 이 버튼은 모두 뒤로 버튼으로 재생되기 전까지 훌륭하게 작동합니다. 페이지에서 나가서 다음 번에 beforeunload 이벤트가 호출되면 JSONP 요청을하는 것으로 보이지만 서버는 절대로받지 못합니다.JSONP + onbeforeunload + back 버튼 + 문제
참고 (1) : IE 및 FF에서 테스트되었습니다 (두 가지 모두에 문제가 있음).
참고 (2) : jQuery.getJSON 메서드를 사용하여 테스트 한 결과 동일한 문제가있어서 makeJSONPCall 함수가 올바른 것으로 가정합니다. (나는 틀릴 수있다)
어떤 아이디어? 문맥
일부 코드 :
JSONP의 CALL :
makeJSONPCall('http://serverurl.mvc/method?args=' + data, 'callbackfunction');
function makeJSONPCall(url, callbackname)
{
if (url.indexOf("?") > -1) url += "&jsonp="
else url += "?jsonp="
url += callbackname + "&";
url += new Date().getTime();
var script = document.createElement("script");
script.setAttribute("id", "JSONP");
script.setAttribute("src",url);
script.setAttribute("type","text/javascript");
if (document.head) document.head.appendChild(script);
else document.body.appendChild(script);
}
감사
신속한 응답을 보내 주셔서 감사합니다. 불행히도 공용 유틸리티 스크립트가되어서 사람들의 페이지에 경고를 표시 할 수 없습니다. 실제로 서버의 응답을받을 때까지 beforeunload 이벤트에서 '대기'할 방법이 없기 때문에 여기에 해결책이 있다고 생각하지 않습니다. 감사합니다. – gatapia