AJAX表单提交工作但未到达PHP页面

时间:2014-12-13 11:24:53

标签: ajax

我正在尝试将表单提交到PHP文件以调用查询并将表单详细信息提交到数据库中,但是我从stackoverflow中获取了这个AJAX代码并对其进行了调整,但它似乎以一种奇怪的方式工作,我和#39;我收到了当php页面返回时我应该收到的警告消息"成功" (据我所知)但PHP页面本身从未到达,我知道因为我添加了一个" die"那里。

所以这是我的简化形式:

<form role="form" id="promoProspectForm" type="post">
<div class="form-group">
                    <label for="name">Full name *</label>
                    <input name="name" type="text" class="form-control" id="name" placeholder="Enter your name" required>
                  </div>
                  <div class="form-group">
                    <label for="company">Company *</label>
                    <input name="company" type="text" class="form-control" id="company" placeholder="Enter your company's name" required>
                  </div>
                  <div class="form-group">
                    <label for="url">Website URL *</label>
                    <input name="url" type="text" class="form-control" id="url" placeholder="Enter your website URL" required>
                  </div>
                  <div class="form-group">
                    <label for="number">Contact number *</label>
                    <input name="number" type="text" class="form-control" id="number" placeholder="Enter your contact number" required>
                  </div>
...Some more inputs
</form>

这是我的AJAX代码,它包含在页脚的HTML页面中

$(function() {
    $('#promoProspectForm').on('submit', function(e) {

        e.preventDefault();

        $.ajax({
            type: 'POST',
            url: 'php/submit-prospect.php',
            data: $('#promoProspectForm').serialize(),
            success: function() {
                alert('form was submitted');
            }
        });
    });
});

这是我的submit-prospect.php文件:

<?php
die("REACH");
    if(isset($_POST) && !empty($_POST))
    {
        include_once(db.php);
        $result = insert_prospect($_POST);
        if(!$result)
        {
            return "fail";
        }
        else
        {
            return "success";
        }
    }
?>

我还怀疑我的php文件有错误的url因此我尝试更改它,基本上我的index.php在root上,ajax函数在js / ajax.js中,而php文件我&# 39; m试图访问是在php / submit-prospect.php中,所以为了简化它:

  • index.php
  • JS​​ / ajax.js
  • PHP /提交-prospect.php

所以我尝试更改ajax中的URL以指向&#34; ../ php / submit-prospect.php&#34;但这也得到了同样的结果。

我做错了什么?感谢。

1 个答案:

答案 0 :(得分:1)

    $(function() {
    $('#promoProspectForm').on('submit', function(e) {

        e.preventDefault();

        $.ajax({
            type: 'POST',
            url: 'php/submit-prospect.php',
            data: $('#promoProspectForm').serialize(),
            success: function(data) {
                alert(data);
            }
        });
return false; // difference 
    });
});

return false  

在功能“提交”表格中,取消html代码的提交动作动作 ..希望对此有所帮助。