[英]How can I access my Javascript Variables in PHP?
我有一个名为lightstatuspage.php
的文件,并且其中有HTML,JavaScript和PHP代码。 我在代码的JavaScript部分中使用了一些变量,并且试图通过将它们传递到代码的PHP部分来将这些变量发送到服务器。 但是,这不起作用。
我正在使用$.post("lightstatuspage.php", slider_val);
然后在PHP部分中,我通过执行$_GET['rangeslider_val'];
调用变量$_GET['rangeslider_val'];
。
我在做什么错,我该怎么做才能从JavaScript中获取变量并将其发送到服务器?
function show_value(x)
{
document.getElementById("slider_value").innerHTML=x;
event.preventDefault();
var slider_val = x;
var query = new Parse.Query(Post);
query.first({
success: function(objects){
objects.set("slider_val", slider_val);
objects.setACL(new Parse.ACL(Parse.User.current()));
return objects.save();
window.location.href = "lightstatuspage.php?rangeslider_val=" + slider_val;
}
})
}
PHP代码为:
<?php
$_GET['rangeslider_val'];
print($rangeslider_val);
?>
首先添加jQuery
<script src='https://code.jquery.com/jquery-1.11.3.min.js'></script>
关闭正文标签之前,请移至页面末尾。 将Javascript变量发送到PHP。 最好的方法是使用Ajax。 并将以下代码添加到您的javascript中。 不要忘记下面的代码应该在一个事件上。 例如,在按钮上单击或类似的操作
$( document ).ready(function() {
var x = $('#input1').val();
//or var x= 15;
$.post("lightstatuspage.php",
{
'rangeslider_val': x
},
function(data, status){
//alert("Data: " + data + "\nStatus: " + status);
// you can show alert or not
});
});
在php中,您可以使用:
$value = $_POST['field1'];
现在您的变量在php中的$ value中。
PS:后端页面和HTML页面应位于同一域上,否则您必须检查跨域资源共享
当用户接受此解决方案时 , 第二个解决方案将是以下代码:
$.get("lightstatuspage.php?rangeslider_val=" + slider_val,function(res) {
console.log(res);
});
第二种方法只是POST和GET方法之间的区别
第三种解决方案,如果您不想在项目中使用Jquery并且需要纯JavaScript,则可以使用以下代码
var str = "Send me to PHP";
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
console.log(xmlhttp.responseText);
}
};
xmlhttp.open("GET", "lightstatuspage.php?rangeslider_val=" + str, true);
xmlhttp.send();
更改JS函数的最后2行的顺序。 您正在从函数中return
,然后更改页面的位置。
您忘了在印刷品上存储变量
<?php
$rangeslider_val = $_GET['rangeslider_val'];
print($rangeslider_val);
?>
您调用了$ _GET,但没有将值赋给PHP中的变量$ rangeslider_val,并且在调用PHP脚本之前返回了JavaScript。 您还提到过,如果要通过clentside使用$ .post,则必须使用PHP $ _POST从那里获取它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.