使用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”。 这应该是:

  
  1. 你必须正确拼写text/javascript

  2. 您需要在加载时分配事件处理程序

  3. 这里的其他人不应该返回任何错误

  4. 切勿在表格中提交任何提交内容

  5. 将html包装在body标签中

  6. 使用正确的DOCTYPE

  7. 对于文件,您可以查看uploadify或如何异步上传文件?

修正了第1点到第6点的代码

    Test Ajax