2010-05-31 3 views
0

저는 Firefox 확장 프로그램을 작성 중이며 그 확장 프로그램에서 AJAX를 사용하여 웹 페이지에서 양식을 제출하려고합니다. 나는 다음을 사용하고있다 :XUL (Firefox 확장자) Javascript를 사용하여 인증 된 HTML 양식을 제출하는 방법은 무엇입니까?

var request = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(Components.interfaces.nsIXMLHttpRequest); 
request.onload = loadHandler; 
request.open("POST", url, true); 
request.send(values); 

요청을 만들어서 ... 거의 작동한다. 하나의 문제는 양식에 인증 토큰이 있고 그 토큰을 POST로 제출해야한다는 것입니다. 이 토큰을 얻기 위해 GET을 개별적으로 시도했지만, 두 번째 (POST) 요청을 내 세션에 가했을 때 (분명히) 변경되었고 인증 토큰은 유효하지 않은 것으로 간주되었습니다.

누구나 XUL/Chrome Javscript를 사용하여 여러 요청 (모두 "막후")에서 상수 세션을 유지하는 방법을 알고 있습니까? 나는 여전히 XUL n00b이므로 빠져있는 완전히 분명한 대안이있을 수 있습니다 (예 : 숨겨진 IFRAME, 간단히 시도했지만 작동하지 못했습니다).

답변

0

나는 단지 내가 그것을 완전히 숨기는 방법을 알아낼 수 ...는 "숨겨진"IFRAME로가는 상처, 그래서 난 그냥했다 :

<iframe flex="1" maxheight="1" maxwidth="1" showcaret="false" 
     transparent="true" /> 

IT는에 작은 흰색 상자를 생성 창문의 아래쪽 구석에 있지만, 나머지 형태에서는 거의 눈에 띄지 않습니다.

iframe.contentDocument.getElementById("someInput").value = "Some value"; 
iframe.setAttribute('src', "https://yourServer.com/yourPseudoAjaxHandler"); 
:

나는 다음과 IFRAME을 통해 "AJAX 호출"했다

관련 문제