Javascript 为什么我的jQuery Ajax json数组数据会重复?
不知道为什么会发生这种情况,可能是我把代码放在了另一个里面——或者可能是完全不同的问题。在这种情况下寻找专业知识。我正在尝试一个基本示例,其中select数据是从数据库填充的:Javascript 为什么我的jQuery Ajax json数组数据会重复?,javascript,php,jquery,json,ajax,Javascript,Php,Jquery,Json,Ajax,不知道为什么会发生这种情况,可能是我把代码放在了另一个里面——或者可能是完全不同的问题。在这种情况下寻找专业知识。我正在尝试一个基本示例,其中select数据是从数据库填充的: <div class="col-md-4 mb-3"> <label for="producer">Select Producers</label> <?php if ($data): ?>
<div class="col-md-4 mb-3">
<label for="producer">Select Producers</label>
<?php if ($data): ?>
<select class="custom-select d-block w-100" name="producer[]" id="producer" required="" size="5" multiple>
<?php foreach($data as $row): ?>
<option value=<?php echo $row['Id'] ?> ><?= $row['producer_name'] ?></option>
<?php endforeach ?>
</select>
<?php else: ?>
No data found
<?php endif ?>
<button class="btn btn-danger btn-sm" type="submit" id="del_producer">Delete</button>
<div id="asd"></div>
</div>
asd只是在发送之前检查所选值是否正确。是的,这是正确的。现在,我的php文件如下所示:
$data = json_decode(stripslashes($_POST['data']));
$array = implode(',', $data);
echo $array;
是的,只要三行就可以收到我寄来的东西。
现在问题来了:我正在发送3个id值[2,3,5],它也在asd中显示。现在,当我点击按钮时,我收到的响应是[2],[2,3],[2,3,5]-三个响应。这应该是我错过的东西。有人能指出吗。我需要它在我发送时是[2,3,5]。从jQuery代码的外观来看,我猜这段代码: $del_producer.clickfunction{ …可能会在del_producer上堆积多个单击侦听器。您需要确保添加的最新侦听器函数是唯一的单击侦听器
$'producer'也可能如此。单击'click',functionevent{,但我必须查看更多的代码上下文,才能知道是否也存在相同的问题。要记住的重要一点是,每当您这样做时,在“some-event”上,my_函数…不会替换该事件类型的任何现有侦听器函数,它只会添加新的侦听器函数。我想我理解您想说的。Bu我不知道如何将两次点击都放在一个函数中。在收集ID时,第一次点击“生产者”。点击按钮,它会将ID发送到下一页。
$data = json_decode(stripslashes($_POST['data']));
$array = implode(',', $data);
echo $array;