Let's keep the conversation on SO:
http://stackoverflow.com/questions/26272030/pass-polymer-form-data-to-rest-api

On Thu, Oct 9, 2014 at 2:58 AM, <[email protected]> wrote:

> I'm looking for some way to pass data from a Polymer form fields to REST
> API,
> actually, I'm using core-ajax to do it but I think is a bit heavy method
> to do it.
>
> Are any standard way to do it?
>
> This is my code:
>
>     <template>
>     <section>
>         <file-input class="blue" id="file" extensions='[ "xls" ]' maxFiles
> ="1">{{ FileInputLabel }}</file-input>
>     </section>
>     <section>
>         <paper-button raised class="blue" disabled?="{{ (! Validated) ||
> (Submitted) }}" on-tap="{{ Submit }}">
>         <core-icon icon="send"></core-icon>
>                  Process
>         </paper-button>
>     </section>
>
>     <paper-toast id="toast" text=""></paper-toast>
>
>
>     <core-ajax id="ajax" url="/import-pdi" method="POST" handleAs="json"
> response="{{ response }}" on-core-complete="{{ SubmitFinished }}"
> ></core-ajax>
>     </template>
>
>
>         <script>
>             Polymer("import-pdi-form", {
>
>                 Validated: false,
>                 Submitted: false,
>
>                 FileInputLabel: "SELECT",
>                 ready: function () {
>                     this.shadowRoot.querySelector("#file").
> addEventListener("change", function(event) {
>                         var container = document.querySelector(
> "import-pdi-form");
>                         container.Validated = (event.detail.valid.length
> != 0);
>                         if (event.detail.valid.length == 0) {
>                             container.shadowRoot.querySelector("#toast").text
> = "Invalid Format";
>                             container.shadowRoot.querySelector("#toast").
> show();
>                             container.FileInputLabel = "SELECCIONA
> L'ARXIU";
>                         }
>                         else {
>                             container.FileInputLabel = event.detail.valid[
> 0].name;
>                             var form_data = new FormData();
>                             form_data.append("file", event.detail.valid[0
> ], event.detail.valid[0].name);
>                             container.shadowRoot.querySelector("#ajax").body
> = form_data;
>                             
> container.shadowRoot.querySelector("#ajax").contentType
> = null;
>                         }
>                     });
>                 },
>                 Submit: function() {
>                     if ((this.Validated) && (! this.Submitted)) {
>                         this.Submitted = true;
>                         this.shadowRoot.querySelector("#ajax").go();
>                     }
>                 },
>                 SubmitFinished: function(event, detail, sender) {
>                     if (detail.xhr.status == 200) {
>                         this.shadowRoot.querySelector("#toast").text =
> JSON.parse(detail.xhr.response).message;
>                     }
>                     else {
>                         this.shadowRoot.querySelector("#toast").text = "Server
> Error";
>                     }
>                     this.shadowRoot.querySelector("#toast").show();
>                     this.FileInputLabel = "SELECCIONA L'ARXIU";
>                     this.shadowRoot.querySelector("#file").reset();
>                     this.Submitted = false;
>                 }
>             });
>          </script>
>
>  Follow Polymer on Google+: plus.google.com/107187849809354688692
> ---
> You received this message because you are subscribed to the Google Groups
> "Polymer" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/polymer-dev/1b85fd53-be7f-4159-82dd-27bddc69d865%40googlegroups.com
> <https://groups.google.com/d/msgid/polymer-dev/1b85fd53-be7f-4159-82dd-27bddc69d865%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

Follow Polymer on Google+: plus.google.com/107187849809354688692
--- 
You received this message because you are subscribed to the Google Groups 
"Polymer" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/polymer-dev/CACGqRCCffoQMAwYh2NDOd7nhLNDoFV98RoopKtqcqe%2BegUNwxA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to