2017-01-15 11 views
0

hmtl 양식에서 데이터를 캡처하고 websafe btoa를 통해 전달한 다음이를 gmail로 보내려고합니다. 폼을 캡처하고, MDN 문서에 지정된대로 FormData 생성자를 통해 전달하고 쓸모없는 출력을 얻습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? howtheformappearsFormData 생성자가 양식 데이터를 가져 오지 못했습니다.

폼 데이터 객체

console.logs

은 이런 모습에서 전달된다. 내가 설명하는 '쓸모없는 결과물'은 무엇인가. 여기 incorrect form data being passed

필요한 경우

console.log(['got form', form]); 

var builtForm = new FormData(form); 

console.log(['builtForm', builtForm]); 

var testFormObj = window.btoa(builtForm).replace(/\+/g, '-').replace(/\//g, '_'); 

console.log(testFormObj); 

해피

이에 더 정교하게 ... 이러한 로그를 생성하는 코드입니다. 근본적인 무언가를 놓치고 그냥 잡히지 않는 것 같은 느낌. 그것에 두 번째 눈 쌍을 얻기 위해 여기에 게시하십시오. 시간 내 주셔서 감사합니다. jQuery 또는 다른 라이브러리를 사용하지 마십시오.

답변

0

FormData 개체는 XMLHttpRequest 개체의 send 메서드로 전달되도록 디자인되었습니다.

캐스팅하여 해당 데이터를 문자열로 변환하도록 설계되지 않았습니다.

+0

재미 있기 때문에 양식의 데이터를 websafe base64 문자열로 변환해야하기 때문에이 양식으로 FormData 생성자를 사용하지 않는 것이 가장 좋습니다. 대신 문자열을 올바르게 변환하는 데 더 적합한 기술을 사용하십시오. 고맙습니다. –