我正在使用PHP和JavaScript。我的JavaScript代码包含一个函数get_data():
function get_Data(){
var name;
var job;
.....
return buffer;
}
现在我有以下PHP代码。
<?php
$i=0;
$buffer_data;
/* Here I need to get the value from JavaScript get_data() of buffer;
and assign to variable $buffer_data. */
?>
如何将JavaScript函数数据分配到PHP变量?
答案 0 :(得分:11)
使用jQuery将JavaScript变量发送到PHP文件:
$url = 'path/to/phpFile.php';
$.get($url, {name: get_name(), job: get_job()});
在您的PHP代码中,从$_GET['name']
和$_GET['job']
获取变量,如下所示:
<?php
$buffer_data['name'] = $_GET['name'];
$buffer_data['job'] = $_GET['job'];
?>
答案 1 :(得分:1)
JavaScript代码在客户端执行,而PHP在服务器端执行,因此您必须将JavaScript值发送到服务器。这可能隐藏在$_POST
或Ajax中。
答案 2 :(得分:0)
您必须使用Ajax,因为服务器端代码无法调用客户端脚本,并且服务器端作用域上的结果可用。您可能必须在客户端进行Ajax调用,这将调用PHP变量。
答案 3 :(得分:0)
如果您没有经验或需要Ajax,那么只需将数据填入post / get,然后将数据发送回您的页面。
答案 4 :(得分:0)
<script>
function get_Data(){
var name;
var job;
.....
return buffer;
}
function getData()
{
var agree=confirm("get data?");
if (agree)
{
document.getElementById('javascriptOutPut').value = get_Data();
return true;
}
else
{
return false;
}
}
</script>
<form method="post" action="" onsubmit="return getData()"/>
<input type="submit" name="save" />
<input type="hidden" name="javascriptOutPut" id="javascriptOutPut"/>
</form>
<?php
if(isset($_POST['save']))
{
var_dump($_POST['javascriptOutPut']);
}
?>