以下是我的 jquery 代码:
e_val = [];
e_val = ['enroll','reject'];
$.ajax({
url: 'myurl.php',
type: 'post',
dataType: 'text',
data: {
reason: 'insert',
eval: e_val
},
success: function (suc) {
row.remove();
alert(suc);
}
});
myurl.php:
$reason = $_POST['reason'];
$eval = array();
if($reason == "insert"){
$eval = $_POST['eval'];
echo $eval[1];
}
我收到的警报是:
n
这是因为 n 位于 e_val[0] 中的索引值 1 处。 我能知道为什么我的数组在 PHP 页面中转换为字符串并且我无法访问数组元素吗? 提前致谢。
最佳答案
您可以将 implode() 与 implode() 函数一起使用。 implode() 函数从数组的元素中返回一个字符串。
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<script>
var e_val = [];
var e_val = ['enroll','reject'];
console.log(e_val);
$.ajax({
url: 'test2.php',
type: 'post',
dataType: 'text',
data: {
reason: 'insert',
eval: e_val
},
success: function (suc) {
alert(suc);
}
});
// alert("dddd");
</script>
</body>
</html>
test2.php
<?php
$reason = $_POST['reason'];
$eval = array();
if($reason == "insert"){
$eval = $_POST['eval'];
echo implode(', ', $eval );
// echo "Dddd";
}
// echo "Dddd";
?>
关于php - 数组通过ajax传递但在php中作为字符串接收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46097301/