javascript - 变量没有通过 ajax 从 javascript 传递到 php
问题描述
我有一个代码应该将所有选中列表的值传递给 php 文件,以便删除 csv 文件的行。所以复选框值是动态的
<tr><td><span class="custom-checkbox"><input type="checkbox" class="checkbox" id="checkbox"'+count+'" name="options[]" value="'+count+'"><label for="checkbox1"></label></span></td>';
我必须得到选中复选框的所有值,所以我使用了 javascript,这个 javascript 将通过 ajax 将值传递给 PHP
<script type="text/javascript">
$( document ).ready(function() {
$( ".button1" ).click(function() {
var val = [];
$("input:checked").each(function (index,value) {
val[index] = this.value;
});
var myJSONText = JSON.stringify(val);
$.ajax({
data: {'kvcArray': myJSONText},
url: 'Index.php',
type: 'POST',
success: function(result) {
// alert(data);
}
});
});
});
</script>
所以它必须将值传递给同一页面(Index.php)并且PHP代码是'
<?php
if (isset($_POST['kvcArray'])) {
echo "<pre>";
echo "<script>console.log('Debug Objects' );</script>";
var_dump(json_decode($_POST['kvcArray'], true));
echo "</pre>";
die();
}
?>
但它没有发布价值。直到 Javascript 代码一切正常(我做了一个警报来检查数据是否被获取)但是值没有在 PHP 中发布,
解决方案
我认为问题出在复选框设置上。尽管如此,它现在正在工作。所有被检查的值都正确通过,可以通过取消注释 php 代码中的行来检查。
HTML:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
<table>
<tr>
<td>
<span class="custom-checkbox">
<input type="checkbox" class="checkbox" id="checkbox1" name="options1[]">
<input type="checkbox" class="checkbox" id="checkbox2" name="options2[]">
<input type="checkbox" class="checkbox" id="checkbox3" name="options3[]">
<label for="checkbox1"></label>
</span>
<button class="button1">Submit</button>
</td>
</tr>
</table>
<script type="text/javascript">
$( document ).ready(function() {
$( ".button1" ).click(function() {
var val = [];
//Fetch all checked values
$("input:checked").each(function (index,value) {
val[index] = this.value;
});
var myJSONText = JSON.stringify(val);
$.ajax({
data: {'kvcArray': myJSONText},
url: 'test.php',
type: 'POST',
success: function(result) {
alert(result);
}
});
});
});
</script>
</body>
</html>
PHP代码:
<?php
//To Test the incoming values just uncomment these lines below.
// print_r($_POST);
// die();
/*Check if form value is set*/
if (isset($_POST['kvcArray'])) {
// Pass the value to ajax success method
echo $_POST['kvcArray'];
die();
}
/*-------------------------*/
?>
推荐阅读
- python - 操作错误:光标“_django_curs_
“ 不存在 - java - 如何在Java中检查对象结果大于0
- python - 芹菜(4.2):如何获取当前任务的任务ID
- scala - Intellij 没有从 .ivy2 缓存文件夹中选择依赖项
- tfs - VSTS 可以使用本地服务器吗?不是云
- kubernetes - kubernetes,入口端口重定向问题
- android - 如何在android中获取自我广告地址
- python - python:subprocess.Popen,openvpn命令未找到
- react-native - ReferenceEerror 找不到变量:图像
- maxima - 如何通过 wx 最大值的链法改进导数的获取?