如何在javascript中检查php变量值
我想检查php中的变量是否有活动值 我这样测试,但不工作 我在check.php中有这个var如何在javascript中检查php变量值,javascript,php,ajax,post,get,Javascript,Php,Ajax,Post,Get,我想检查php中的变量是否有活动值 我这样测试,但不工作 我在check.php中有这个var $status = 'active'; 我有一个javascript文件 $.ajax({ type: "POST", url: "check.php", success: function(check) { var statusJS = '<?php echo $status; ?>'; if (check
$status = 'active';
我有一个javascript文件
$.ajax({
type: "POST",
url: "check.php",
success: function(check) {
var statusJS = '<?php echo $status; ?>';
if (check[statusJS] == "active" {
alert("status : active");
}}})
$.ajax({
类型:“POST”,
url:“check.php”,
成功:功能(检查){
var statusJS='';
如果(检查[statusJS]=“活动”{
警报(“状态:活动”);
}}})
这个完整的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文件中回送它?不,根据我的说法,如果不在javascript中回送,就不可能从php获取变量值 但您可以在其中一个输入字段中指定php值,并在javascript中获取其值 就像下面的代码
<input type="hidden" name="status" id="status" value="<?php echo $status; ?>" />
您应该在
check.php中echo
并创建一个数组
$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");
}}})
*如果你想回显多个值,你可以创建一个对象/数组。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");
}
?>
我想,您想检查$status='active'
是否将html数据返回到您的javascript?试试这个
<?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");
}
}
});
$.ajax({
类型:“POST”,
url:“dt.php”,
成功:功能(数据){
//警报(数据);
如果(data.trim()=='active')
{
警报(“状态:+数据”);
}
其他的
{
警报(“状态:非活动”);
}
}
});
checkvar\u dump($status)
和console.log(check,check[statusJs])
我真的不知道我将把它放在php或javascript中的确切位置,但我用javascript测试了它,但在控制台中没有定义。在php中回显后,我如何在回显后再使用javascript?直接比较一下,就像回答一样。我在php文件中有更多数据,如何只检查状态变量?数据结构是什么?php array?php对象?仅html数据。我的php文件不全在里面,它是json,所以可能不起作用,我会测试它。你可以添加你的php文件完整代码,这样我们就可以提供帮助。或者你可以在check.php文件中为check status创建一个函数。我的php文件非常简单,我添加了,检查了它的工作,但是另一个函数被破坏了,因为add datatype:json now脚本不能从php获取html,lol,无论如何,谢谢你的帮助,我的想法没有走上正确的道路,因为我只想从php获取变量值而不回显它(以保护我的脚本不被httrack等窃取)(我想让js检查php文件是否从变量中给出值,而不回显它,所以任何偷我脚本的人都无法让它工作,因为js找不到变量值)也许你们知道我想做什么:染色但不在浏览器中打印,我只想在JS中检查谢谢你们的帮助,但在哪里echo$gpa,我想从javascript中检查php变量,但这可能是不可能的,所以无论如何谢谢你们:D,如果你们对我的想法感兴趣的话,我想保护我的脚本不被httrack等窃取,所以我想让js检查变量在php文件中是否具有相同的值,但小偷无法获得变量值,因为只能将文件下载为html,所以无法让我的脚本运行:D
$.ajax({
type: "POST",
url: "check.php",
dataType: "json",
success: function(data) {
if (data['status'] == "active" {
alert("status : active");
}
}
});
<?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");
}
}
});