I'我在使用聚合核心ajax发送表单结果时遇到问题-go没有执行

I'm having issues sending form results using polymer core-ajax - go not executing?

本文关键字:结果 表单 遇到 问题 执行 -go ajax 核心      更新时间:2023-09-26

我在聚合物中有以下元素

<link rel="import" href="elements.html" />
<polymer-element name="Map-Add">
    <template>
        <form is="ajax-form" id="addRoutingMap">
            <paper-action-dialog backdrop autoclosedisabled heading="Create Map" id="dlgAddMap">
                <p><paper-input label="Name" floatinglabel style="width:300px;" id="lblNewMapName" value="{{item.mapName}}"></paper-input></p>
                <paper-button affirmative style="color:#000;">Decline</paper-button>
                <paper-button affirmative autofocus style="color:#0094ff;" id="btnAcceptAddMap" on-tap="{{doSend}}">Accept</paper-button>
            </paper-action-dialog>
        </form>
        <core-ajax id="ajax"
                   method="POST"
                   url="/RoutingMapAddHandler.php"
                   params="{{item}}"
                   on-core-response="{{handleReponse}}" on-core-error="{{handleError}}"></core-ajax>
    </template>
    <script>
        Polymer('Map-Add', {
            /****************************************
            created: element initialisation
            ***************************************/
            created: function () {
                this.item = {};
            },
            /****************************************
            show: shows the dialog
            ***************************************/
            show: function () {
                this.$.dlgAddMap.toggle();
            },
            /****************************************
            doSend: Sends data to the Routing Map Handler
            ***************************************/
            doSend: function (event, detail, sender) {
                try {
                    this.$.ajax.go();
                }
                catch (e) {
                    alert(e.message());
                }
                alert('finished calling handler!');
            },
            /****************************************
            handleError: Handle error from core-ajax
            ***************************************/
            handleError: function (event, detail, sender) {
                alert('Whoops!');
            },
            /****************************************
            handleResponse: Handle Response from core-ajax
            ***************************************/
            handleReponse: function (event, detail, sender) {
                alert('Yippee!!');
            }
        });
    </script>
</polymer-element>

虽然我可以看到doSend正在被调用,但核心ajax是有价值的。但是,Url似乎没有被调用。核心上的响应或核心上的错误事件也不会被触发。

RoutingMapAddHandler.php是以下php代码。它与使用此元素的页面和托管页面位于同一目录中。

<?php
require_once 'RoutingMaps.php';
$routing = new RoutingMaps();
$routing->route_name = $_POST['mapName'];
$res = $routing->Add();
echo $res;

所以我真的有两个问题。

  1. 为什么没有调用PHP。

  2. 为什么核心响应和核心错误事件都没有被触发?

好的,又是一个Homer-Simpson时刻-错过了核心ajax导入。将以下行添加到elements.html中,就可以进行ajax调用了。

<link rel="import"
      href="bower_components/core-ajax/core-ajax.html" />