gpt4 book ai didi

php - 在 Ajax for php 中序列化数组

转载 作者:行者123 更新时间:2023-12-01 08:17:07 25 4
gpt4 key购买 nike

我尝试序列化我的复选框项目。

首先,我想告诉你我想要什么。

我有一个这样的表格,

enter image description here

用户选择复选框,当按下“Sil”按钮时,它必须删除艺术家。

我为此准备了一个ajax脚本,

function deleteData2()
{
var artistIds = new Array();

$(".p16 input:checked").serialize()(function(){
artistIds.push($(this).attr('id'));
});


$.post('/json/crewonly/deleteDataAjax2', { 'artistIds': artistIds },function(response){
if(response=='ok')
alert("ok");
});


}

我的ajax脚本有电影id和艺术家id,它有这些数据。实际问题是,ajax 无法将此数据发送到 php。我对此做了一些研究,然后我发现我必须序列化我的数组并添加我的 $(".p16 input:checked").serialize()(function(){ 脚本序列化,但也不起作用。

public function deleteDataAjax2() {

extract($_POST);

if (isset($artistIds))
$this->sendJSONResponse('ok');

}

上面的代码是我的php.ini。而且 artistIds 始终为空,因此我的序列化功能不起作用。

可能出了什么问题?我怎样才能在 php 端找到我的艺术家 ID?

编辑

终于,我来了

  var artistIds = new Array();

$(".p16 input:checked").each()(function(){
artistIds.push($(this).attr('id'));
});


$.post('/json/crewonly/deleteDataAjax2', JSON.stringify({ 'artistIds': artistIds }),function(response){
if(response=='ok')
alert("ok");
});

在 php 端,

public function deleteDataAjax2() {

extract($_POST);

$a = json_decode($artistIds);

if (!empty($a))
$this->sendJSONResponse('ok');

}

还是错误

最佳答案

$(".p16 input:checked").serialize()(function(){
artistIds.push($(this).attr('id'));
});

这仍然给你一个artistid数组,所以你不能将它发送到服务器,你需要先将它转换为JSON格式,然后你可以像这样将它提交到服务器

$.post('/json/crewonly/deleteDataAjax2', JSON.stringify({ 'artistIds': artistIds }),function(response){
if(response=='ok')
alert("ok");
});

并确保在使用 json_decode 函数使用服务器上的 json 数据之前对其进行解码

关于php - 在 Ajax for php 中序列化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9855598/

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