我有javascript,当用户登录我的文件indir.php时,它会获取用户的Facebook名称。但是,我无法将该名称 javascript 变量转换为 php 变量或 <input type="hidden" name="name" value="" />
。目前,我可以使用以下方法获取名称:
<script>
...facebook stuff...
function login() {
FB.api('/me', function(response) {
document.getElementById('login').style.display = "block";
var mos = response.name;
document.getElementById('login').innerHTML = mos;
}
}
...
</script>
然后使用以下方法显示名称:
<div id="login" style ="display:none"></div>
这应该可以让您在字段中获取名称
首先向输入字段添加 ID
<input type="hidden" name="name" id="fb_name" value="" />
然后
<script>
...facebook stuff...
function login() {
FB.api('/me', function(response) {
document.getElementById('login').style.display = "block";
var mos = response.name;
document.getElementById('login').innerHTML = mos;
//Enter the value in field
var field= document.getElementById("fb_name");
field.value = mos;
}
...
</script>
我认为部分问题在于FB.api调用上的左括号没有关闭,请参见下面的代码片段。如果这样做,那么 javascript 函数将使用 response.name 的值更新div。
如果你在信息服务器端做某事,它只需要是一个php变量。然后,如果需要,您可以使用 AJAX 发送它。
function login(){
FB.api('/me', function(response) {
document.getElementById('login').style.display = "block";
var mos = response.name;
document.getElementById('login').innerHTML = mos;
});
});
您可以使用 AJAX 在 POST 请求中将其发送到 php:
var xhr = new XMLHttpRequest();
var content = "c=" + mos;
xhr.open("POST", "serverscript.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(content);
在服务器端使用类似的东西接收
<?php
if (isset($_POST['c'])) {
$data = htmlspecialchars($_POST['c'], ENT_QUOTES, 'UTF-8');
}
?>
试试这样的事情:
Javascript:
<script>
var name = 'Luis';
var variablejs = 'Your javascript value: ' + name ;
</script>
.PHP:
<?php
$variablephp = "<script> document.write(variablejs) </script>";
echo "variablephp = $variablephp";
?>