我想检查php中的变量是否具有活动值 我像这样测试但不起作用
我在check.php中有这个变种
$status = 'active';
我在javascript文件中有这个
$.ajax({
type: "POST",
url: "check.php",
success: function(check) {
var statusJS = '<?php echo $status; ?>';
if (check[statusJS] == "active" {
alert("status : active");
}}})
完整的check.php文件
<?php
$status = 'active';
$gpa = 'html data here';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
echo $gpa;
echo $status;
} else {
include("gp-e.php");
}
?>
是否可以从javascript中的php获取变量值而无需在php文件中回显它?
答案 0 :(得分:0)
不,根据我的说法,无法从javascript中获取无回声的php变量值。
但是您可以在输入字段之一中分配php值,并在javascript中获取其值。
就像下面的代码一样。
<input type="hidden" name="status" id="status" value="<?php echo $status; ?>" />
现在可以在javascript中获取该值::
var status = $("#status").val();
答案 1 :(得分:0)
您应该在echo
中check.php
并创建一个数组
$status = 'active';
$gpa = 'some string'
$data = $status . ',' . $gpa
echo $data
以及您的javascript
$.ajax({
type: "POST",
url: "check.php",
success: function(data) {
var check = (new Function("return [" + data + "];")());
if (check[0] == "active") { // check[0] is $status in php
alert("status : active");
}}})
*如果要echo
多个值。您可以创建一个对象/数组。
答案 2 :(得分:0)
PHP
<?php
$status = 'active';
$gpa = 'html data here';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$response = [
'status' => $status,
'message' => $gpa
];
echo json_encode($response);
} else {
include("gp-e.php");
}
?>
JavaScript
$.ajax({
type: "POST",
url: "check.php",
dataType: "json",
success: function(data) {
if (data['status'] == "active" {
alert("status : active");
}
}
});
答案 3 :(得分:0)
我认为,您想检查$status = 'active'
是否将html数据返回到您的javascript吗?
答案 4 :(得分:0)
尝试这个。
<?php
$status = 'active';
$gpa = 'html data here';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if ($status == 'active') {
return print_r($status);
}
} else {
include("gp-e.php");
}
?>
$.ajax({
type:"POST",
url:"dt.php",
success:function(data){
//alert(data);
if (data.trim() == 'active')
{
alert("status:" + data);
}
else
{
alert("Status:Inactive");
}
}
});