Работая с Polymer 1.0, я пытаюсь реализовать элемент iron-form, когда я использую метод «GET», он работает, но когда я пытаюсь создать «POST» для того же файла по тому же пути, возникает ошибка 404, не найденная.
Мой пользовательский элемент (контактная форма):
<dom-module id="contact-form">
<template>
<div class="horizontal center-center layout">
<link rel="import" href="add.php">
<div>
<div class="horizontal-saction>
<form is="iron-form" id="form" method="post" content-type="application/json" action="add.php">
<paper-input name="name" label="Name" requiered></paper-input>
<br><br>
<paper-button raised onclick="sumitForm()">Submit</paper-button>
</form>
</div>
</div>
</div>
</template>
<script>
function submitForm(){
document.getElementById('form').submit();
}
Polymer({
is:'contact-form',
});
Мой add.php содержит:
<?php
var_dump($_POST['name']);
?>
Путь к файлу add.php это elements / contact-form / add.php и 404 не найден, когда я «POST» происходит по тому же пути http: //localhost:5000/elements/contact-form/add.php. Я не понимаю, потому что это происходит. Извините за мой английский.
Мне кажется, что ваша конфигурация сервера должна делать что-то другое с запросами GET и PUT. Вы не упоминаете, какой у вас сервер и как он настроен, но сначала проверьте инструменты разработчика, если у вас есть браузер Chrome и следите за трафиком на сервер и с него.
РЕДАКТИРОВАТЬ — дальнейшее обновление на некоторые мысли в этом
Отправка формы
<paper-button id="submit" >Submit</paper-button>
Тогда в вашем объекте Polymer
listeners: {'submit.tap':'_submitlogon'},
_submitLogon: function() {
this.$.form.submit();
}
ВТОРОЕ РЕДАКТИРОВАНИЕ.
Если вы используете gulp serve, он использует собственный веб-сервер. Это не имеет возможности запускать любой PHP-код. Так что, вероятно, возвращаемся к исходному тексту исходного кода php. Если он хранится в месте, где сервер может его найти. Мне интересно, как обрабатывается ajax-запрос — поскольку он ожидает (особенно в режиме POST, поэтому я не понимаю, как работает GET) ответ в формате JSON. Очевидно, что источником вашего PHP не является json, поэтому он не распознает формат и ошибку.
Других решений пока нет …