首页 > 解决方案 > 使用 jQuery post 方法发送表单数据不起作用

问题描述

尝试通过 jQuery Ajax post 方法更新 SQL Server 中的删除标志。我不确定问题出在我的 PHP 还是 jQuery 代码上。当我按下删除按钮时,没有任何反应,但 Web 开发工具并没有表明语法有任何问题。

这是HTML:

    <div class='dialog' id='editForm' title='Edit' >
        <form method='POST' id ='editFo' name = 'editFo' action='post' enctype='multipart/form-data'>

        </form>
    </div>`

这是按钮的html:

    <button id="deleteFormbtn" >Delete</button>

这是jQuery代码:

    $("#deleteFormbtn").click(function(){
       $.post ( "deleteRow.php", $("#editForm: input").serializeArray(), function(data){
            alert(data);
        });
    });`

这是PHP代码:

`

require_once ('sql/connectionstring/connectionstring.php');
$conn = SQLServerConnection();  


if(isset($_POST['vendor'])){

    $loc_sql = "SELECT TOP 1 loc_id FROM <table> WHERE loc_name = ?";
    $parms = array($_GET['loc']);
    $loc = sqlsrv_query($conn, $loc_sql, $parms) or die (print_r ( sqlsrv_errors(), true));

    while ($q = sqlsrv_fetch_array($loc)){
        $loc_id = $q["loc_id"];
    }
    $username = $_POST['username'];
    $password = $_POST['password'];
    $comments = $_POST['comments'];
    $vendor_website = $_POST['website'];
    $vendor = $_POST['vendor'];


    $query = "UPDATE <table> SET <column> = '0' WHERE <column> = ?";

    $parms = $username;

    $result = sqlsrv_query($conn, $query, $parms) or die (print_r ( sqlsrv_errors(), true));

    sqlsrv_close($conn);

}
header('Location: <location>);

?>`

标签: phpjquerysqlajaxpost

解决方案


  • 您需要通过 AJAX 发布请求传递“供应商”,以便 PHP 在尝试访问时可以识别它$_POST['vendor']
  • 您还需要在“ if(isset($_POST...) { .... }”未完成时进行处理,以便返回错误。
  • 更多地关注 PHP 部分,以 JSON 格式向您发送回复。类似于:

    $data = /** 无论你在序列化 **/;

    header('Content-Type: application/json');

    回声 json_encode($data);


推荐阅读