jQuery Ajax POST form not posting

jQuery Ajax POST form not posting

本文关键字:not posting form POST Ajax jQuery      更新时间:2023-09-26

我不知道为什么我的表单没有发布,而只是重新加载页面。

我可以用$.ajax({type:GET})做到这一点.但是这样做感觉不对,因为我的所有脚本都将数据发布到数据库。

我还尝试在$.ajax({data:})中添加$('#status-form').serialize()'status=' + status_value。但不起作用。只需刷新页面,不向数据库提交任何内容。

这是我的jQuery:

$(document).on('click', '.edit',function() {
    var project_id_value=$(this).closest('tr').find('.project_id').text();
    $('#popup').show();
    $('#popup').load('scripts/form.php');
$(document).on('click',".bttt", function(){
    var status_value=$('#status option:selected').val();
    var formData = $('#status-form').serialize();
    $.ajax({
        type:POST,
        url:'scripts/change-status.php?project_id=' + project_id_value,
        data:formData,
        success: function(data){
            alert(data)},
        });
    });
return false;
});

形式:

<form method="post" id="status-form">
<select name="status" id="status">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">Closed</option>
</select>
<button class="bttt">Hello</button>
</form>

编辑:

我已经修复了错别字错误。仍然有同样的问题

溶液:

我找到了为什么浏览器使用刷新而不执行任何操作的解决方案。由于我使用的是火狐,并且火狐将表单中的任何按钮作为提交按钮。当我单击按钮时,它用于在达到 $.ajax({success:}( 之前发布表单。我所要做的就是给按钮一个type="button"

类型必须表示为字符串。因此,它type: 'POST'.

只是表单提交,下面的代码应该可以工作

$(document).on('click',".bttt", function(){
    var status_value=$('#status option:selected').val();
    var formData = $('#status-form').serialize();
    var project_id_value = 123;
    $.ajax({
        type:'POST',
        url:'change-status.php?project_id=' + project_id_value,
        data:formData,
        success: function(data){
            alert(data);
        }
    });
    return false;
});