使用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。我不明白,因为它发生了。抱歉我的英文。
答案 0 :(得分:0)
在我看来,您的服务器配置必须与GET和PUT请求做一些不同的事情。你没有提到你拥有什么样的服务器以及它是如何配置的,但如果你有一个Chrome浏览器并且观察进出服务器的流量,首先检查开发工具。
编辑 - 进一步更新了一些想法 提交表格
<paper-button id="submit" >Submit</paper-button>
然后在您的Polymer对象中
listeners: {'submit.tap':'_submitlogon'},
_submitLogon: function() {
this.$.form.submit();
}
第二次编辑。
如果您正在使用gulp服务,那么它正在使用自己的Web服务器。这没有能力运行任何PHP代码。所以回来的可能就是php源代码的原始文本。如果它存储在服务器可以找到它的地方。我想知道如何处理ajax请求 - 因为它期望(特别是在POST模式下,所以我不明白GET是如何工作的)一个JSON格式的响应。显然PHP的来源不是json,因此它无法识别格式和错误。