使用Jquery将HTML表单发布数据发送到文件?
我正在尝试使用jQuery将post数据发送到名为postinfo.php
post数据文件处理程序,但到目前为止我可以做到。
这是我的post.php代码:
$('#form_id').on('submit', function(e){ e.preventDefault(); $.ajax({ type: "POST", url: "http://www.vemvo.com/test/postinfo.php", data: $(this).serialize(), success: function() { alert('success'); } }); });
你可以在这里看到这个页面: http : //www.vemvo.com/test/post.php
这是我的postinfo.php中的代码:
这里位于postinfo.php – http://www.vemvo.com/test/postinfo.php
那么我的错误在哪里以及如何使其发挥作用? 现在它不是发送数据而是没有给我成功警报。
您的jQuery选择器不会找到该表单,因为选择器在DOM中存在form
标记之前运行。 尝试将其包装在jQuery函数中以等待文档准备就绪:
$(function () { $('#form_id').on('submit', function(e){ // the rest of your code }); });
最后return false
也是一个好主意,以进一步抑制表单的默认后期操作:
e.preventDefault(); $.ajax({ type: "POST", url: "./postinfo.php", data: $(this).serialize(), success: function() { alert('success'); } }); return false;
目前,表格正常发布。 由于AJAX处理程序从不附加(因为当选择器执行时元素不存在),它只是做一个普通的文档级表单发布。 由于form
标记中没有指定action
属性,因此默认情况下页面会自行发布。 这只是响应当前页面。
编辑:你也有一个错字,可能会阻止浏览器执行你的JavaScript代码:
你错过了第二个“a”。 这应该是:
-
你必须正确拼写
text/javascript
-
您需要在加载时分配事件处理程序
-
这里的其他人不应该返回任何错误
-
切勿在表格中提交任何提交内容
-
将html包装在body标签中
-
使用正确的DOCTYPE
-
对于文件,您可以查看uploadify或如何异步上传文件?
修正了第1点到第6点的代码
Test Ajax