javascript
  • php
  • ajax
  • polymer
  • polymer-1.0
  • 2015-12-30 1 views 0 likes 
    0

    часть сценария полимерного элемента:железа Ajax не проводки входных данных на PHP

    <content> 
          <iron-ajax id="plWhois" method="POST" body='{"helper":"plugin", "func":"_pluginsInitAjax", "params":{"domain": "domain", "request_type": "taken"}}' handle-as="json" on-response="handleResponse" debounce-duration="300"></iron-ajax> 
          <paper-card heading="Begin the search for your perfect domain name..." image="themes/custom_components/apps/pl-whois/img/who-is.jpg" center> 
           <div class="card-content"> 
            <paper-input id="plWhoisSearchBtn" type="search" placeholder="e.g. mydomain.com"> 
             <iron-icon prefix icon="search"></<iron-icon> 
            </paper-input> 
           </div> 
           <div class="card-actions s-t"> 
            <paper-button on-click="domainAvailability">Search</paper-button> 
            <paper-button>Transfer</paper-button> 
           </div> 
           <div class="card-actions p-l"> 
            <paper-button>buy a domain</paper-button> 
            <paper-button>order hosting</paper-button> 
            <paper-button>make payment</paper-button> 
            <paper-button>support</paper-button> 
           </div> 
          </paper-card> 
        </content> 
    
    <script> 
         // element registration 
         Polymer({ 
          is: "pl-whois", 
          properties: { 
           url: { 
            type: String, 
               notify: true, 
            value: '' 
           }, 
           body: { 
            type: Object, 
               notify: true, 
            value: '' 
           } 
         }, 
          domainAvailability: function() { 
           var domain = this.$.plWhoisSearchBtn.value; 
    
           this.$.plWhois.url = "ajax.php"; 
           /*this.$.plWhois.body = {"helper":"plugin", "func":"_pluginsInitAjax", "params":{"domain": domain, "request_type": "taken"}}; 
           */ 
           this.$.plWhois.generateRequest(); 
          }, 
          handleResponse: function(e) { 
           console.log(e.detail.response); 
          } 
         }); 
        </script> 
    

    Дело в том, выше элемент импортируется, я захватить почтовые данные из полимера с помощью:

    $ json = file_get_contents ("php: // input");

    $ _POST = json_decode ($ json, true);

    , который я получил here

    доли не импортированные скрипты работают хорошо, они не размещать данные, но импортированные сценарии выполняют запрос AJAX, но не отправлять данные в PHP.

    ответ

    0

    Я все еще испытываю те же проблемы, выглядит как его ошибка или что-то в этом роде (динамический импортированный скрипт не отправляет данные сообщения во время запроса iron-ajax).

    Так как обходной путь, получить URL и значение тела из атрибутов элемента, а затем их связывания железа AJAX, кажется, работает:

    Железный Аякса:

    < iron-ajax id = "plWhois" method = "POST" url = "{{url}}" body = '{{params}}' handle-as = "json" on-response = "handleResponse" debounce -duration = "300"> </Железо-Аякс>

    Этот скрипт добавляет атрибуты моего элемента и увольняет запрос железный:

    var domain = this.$.plWhoisSearchBtn.value; 
    
    this.url = 'ajax.php'; 
    this.params = '{"helper":"plugin", "params":{"0":"whoapi_dot_com", "1":"_test", "2":{"0": "'+domain+'", "1": "taken"}}}';  
    this.$.plWhois.generateRequest(); 
    

    Итак, теперь это, как мой импортирован элемент выглядит (частичный):

    //imports 
    <dom-module id="pl-whois" class="wide-layout-mq"> 
        <template> 
        <style></style> 
         <iron-ajax id="plWhois" method="POST" url="{{url}}" body='{{params}}' handle-as="json" on-response="handleResponse" debounce-duration="300"></iron-ajax> 
    
        <content> 
          <paper-card heading="Begin the search for your perfect domain name..." image="themes/custom_components/apps/pl-whois/img/who-is.jpg" center> 
           <div class="card-content"> 
            <paper-input id="plWhoisSearchBtn" type="search" placeholder="e.g. mydomain.com" on-keyup="updateParams"> 
             <iron-icon prefix icon="search"></<iron-icon> 
            </paper-input> 
           </div> 
           <div class="card-actions s-t"> 
            <paper-button on-click="domainAvailability">Search</paper-button> 
            <paper-button>Transfer</paper-button> 
           </div> 
           <div class="card-actions p-l"> 
            <paper-button>buy a domain</paper-button> 
            <paper-button>order hosting</paper-button> 
            <paper-button>make payment</paper-button> 
            <paper-button>support</paper-button> 
           </div> 
          </paper-card> 
        </content> 
    </template> 
    
    <script> 
        // element registration 
        Polymer({ 
         is: "pl-whois", 
         properties: { 
          url: { 
           type: String, 
           notify: true, 
         reflectToAttribute: true, 
           value: '' 
          } 
        }, 
        updateParams: function (e) { 
        var domain = this.$.plWhoisSearchBtn.value; 
    
        this.url = 'ajax.php'; 
          this.params = '{"helper":"plugin", "params":{"0":"whoapi_dot_com", "1":"_test", "2":{"0": "'+domain+'", "1": "taken"}}}'; 
    
        if(e.keyCode === 13){ 
         this.$.plWhois.generateRequest(); 
        } 
         }, 
         domainAvailability: function() { 
        var domain = this.$.plWhoisSearchBtn.value; 
    
        this.url = 'ajax.php'; 
          this.params = '{"helper":"plugin", "params":{"0":"whoapi_dot_com", "1":"_test", "2":{"0": "'+domain+'", "1": "taken"}}}'; 
    
          this.$.plWhois.generateRequest(); 
         }, 
         handleResponse: function(e) { 
          console.log(e.detail.response); 
         } 
        }); 
    </script> 
    

    Надеюсь, это поможет кому-то, кто тоже застрял!

    2

    Похоже, что вам не нужен атрибут url для вашего звонка <iron-ajax>.

    +0

    отредактировал мой вопрос с тегом скрипта, который добавляет URL-адрес –

    +0

    , на веб-сайте (http://platinumindustriespl.com/cms), введите слово во вход и нажмите «Поиск», он не отправляет входные данные –

    +0

    здесь это полный скрипт для элемента (https://codeanywhere.com/s/l/zba2QUAO40pssy3ft3pfeCXCNPNaHoxghVfJ6gTzv71v9KQV25CEIaCCbx62zl3) –

    Смежные вопросы