gpt4 book ai didi

javascript - iQuery ajax 请求返回空 $_POST

转载 作者:行者123 更新时间:2023-12-03 07:29:34 25 4
gpt4 key购买 nike

我正在创建一个包含上传文件列表的表,我想在最后一列中添加一个链接以允许用户删除相应的文件。我可以简单地使用链接“delete.php?fileid=”,但我更喜欢使用 POST 请求,因此我决定使用一个表单,其中数据库中文件的 ID 作为隐藏输入传递。

问题:console.log($(this).closest('form').find(":input").serialize());返回一个空字符串。您能帮助理解根本原因是什么吗?

表单提交代码:

$('.f-delete a'). click(function(e){
e.preventDefault();
console.log($(this).closest('form').find(":input").serialize());
$.ajax({
type: "POST",
url: 'delete_image.php',
dataType: 'json',
data: $(this).closest('form').find(":input").serialize(),
success: function(response){
console.log(response);
},
error: function(){
alert('Error: Could not delete the file');
}
});
});

标记:

<table class="table table-striped"> 
<thead>
<tr>
<th>Title</th>
<th>Type</th>
<th>Size</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Test file</td>
<td>image/png</td>
<td>302.65 KB</td>
<td>
<form id="f-1" class="f-delete" method="post" action="delete_image.php">
<input id="id-1" value="1" type="hidden">
<a id="a-1" href="">Delete image</a>
</form>
</td>
</tr>
<tr>
<td>Test file 2</td>
<td>image/png</td>
<td>37.88 KB</td>
<td>
<form id="f-2" class="f-delete" method="post" action="delete_image.php">
<input id="id-2" value="2" type="hidden">
<a id="a-2" href="">Delete image</a>
</form>
</td>
</tr>
</tbody>
</table>

最佳答案

问题出在你的html中,为了使用serialize,你的输入应该有名称。例如:

 <input id="id-1" value="1" name="id-1" type="hidden">

用于序列化使用

 $(this).closest('form').serialize() //return id-1=1

结果 https://jsfiddle.net/cmedina/1Lv8gkms/

关于javascript - iQuery ajax 请求返回空 $_POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35855213/

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