gpt4 book ai didi

javascript - jQuery的POST触发 "done"但没有数据提交

转载 作者:行者123 更新时间:2023-11-28 20:21:19 25 4
gpt4 key购买 nike

我想使用 AJAX 提交表单。我编写了一个通过按下按钮来触发此功能的函数:

function putUser() {
$('button#putUser').on('click', function() {
var user = $('input#user').val(),
amount = $('input#amount').val(),
what = $('input#amount').val(),
country = $('input#country').val(),
platform = $('input#platform').val(),
formUrl = $('form#sendUser').attr('action');

var data = {
user: user,
amount: amount,
what: what,
country: country,
platform: platform
}

$.post(formUrl, $('#sendUser').serialize(), function() {
alert('test');
}).done(function() { alert('done')})

return false;
})
}

这在理论上是有效的,因为我收到了完成警报。但没有提交任何数据。怎么了?我的 SQL 语句运行得很好。

我的PHP代码:

if(isset($_POST['putUser'])) {
$user = $_POST['user'];
$amount = $_POST['amount'];
$what = $_POST['what'];
$country = $_POST['country'];
$platform = $_POST['platform'];

$query = mysql_query('INSERT INTO sells (id, user, amount, what, country, platform) '
. 'VALUES (NULL , "' . mysql_real_escape_string($user) . '", "' . mysql_real_escape_string($amount) . '", "' . mysql_real_escape_string($what) . '", "' . mysql_real_escape_string($contry) . '", "' . mysql_real_escape_string($platform) . '")');

if($query) {
echo 'ok';
} else {
die(mysql_error());
}
}

最佳答案

我会将 putUser 参数更改为 get 参数。

<form action="sendUser.php?putUser">

php

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

js

function putUser() {
$('#sendUser').on('submit', function() {
var formUrl = $(this).attr('action');

$.post(formUrl, $(this).serialize(), function() {
alert('test');
}).done(function() { alert('done')})

return false;
})
}

还更改为提交事件而不是单击事件,这使我能够进一步使用 this 而不是选择器。

关于javascript - jQuery的POST触发 "done"但没有数据提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18276681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com