2012-11-26 2 views
0

웹 양식 (HTML, JS 또는 기타)에 제공된 정보를 가져 와서이 정보를 사용하여 XML 문서를 채우고 클라이언트 측의 API에 모두 제출하려고합니다.웹 양식의 출력물을 XML API로 POST하는 방법은 무엇입니까?

이 소리가 들리니 간단합니다. 지금까지 JS가 변수를 사용하여 XML 문서를 채우고 있지만 문서를 제출하는 방법이 확실하지 않은 최상의 옵션을 경험해 왔습니다. 이것은 지역적으로 호스트 된 모든 것이기 때문에 약간 특이한 것이므로 작동한다면 다른 것들을 사용할 수 있습니다. 그런 다음 반환 된 XML을 제시해야합니다.

도움을 주시면 감사하겠습니다.

많은 감사

+0

어떤 유형의 프레임 워크를 사용하고 있습니까? (ASP.NET, PHP 등) – TNCodeMonkey

+0

어떻게 XML 문서를 서버에 제출 하시겠습니까? 전통적인 POST 요청 (사용자가 제출 단추를 클릭하여 양식을 제출하고 페이지를 다시로드) 또는 AJAX 호출로? – TachyonVortex

+0

전통적인 POST 요청입니다. – user1463172

답변

0

체크 아웃 자바 스크립트에서 XML 작업을위한이 위대한 참조 :이 제출 될 수 있도록

AJAX and XML handling in JavaScript

귀하는 문자열로 serializeXMLDocument 객체를 생성하고 있습니다 API에.

편집 한

는 IE8에서이 XMLDocument를 직렬화 및 이전 버전 .xml property을 사용합니다. 당신이 문자열로 직렬화 된 XML 문서를 일단

편집 2

, 당신은 그렇게가 서버에 제출 될 수있는 <form>에 배치 할 수 있습니다. 여기에 그 일을하는 한 가지 방법이다 :

HTML

<form action="mypage.php" method="post"> 
    <input type="hidden" name="xmldata" id="hiddenXMLInput"> 
    <input type="Submit" value="Submit XML to server"> 
</form> 

자바 스크립트 strXMLDocument 문자열로 당신의 직렬화 된 XML 문서입니다

document.getElementById('hiddenXMLInput').value = strXMLDocument; 

.

+0

안녕하세요, 감사합니다. Chrome 또는 Safari에서 실행하면 다음 오류가 발생합니다. 브라우저가 XMLDocument 속성을 지원하지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? – user1463172

+0

새로운 XMLDocument를 생성하고, 일부 요소를 추가하고, 문자열로 직렬화하는 방법을 보여주기 위해 [this jsFiddle] (http://jsfiddle.net/u2tTK/)을 만들었습니다. Safari와 Chrome에서 작동합니다 (IE에서는 지원되지 않음). – TachyonVortex

관련 문제