将javascript变量转换为php

将javascript变量转换为php,php,javascript,Php,Javascript,我有一个php函数,在这个函数中我有一个javascript,它从父窗口获取元素的值。我现在的问题是,如何将这个值传递到php变量中 任何帮助都将不胜感激 谢谢 蒂尔索 我尝试了这个代码,但得到的值总是1 这是我的密码 function do_upload() { $categories = print '<script type="text/javascript">window.top.window.$("#categories").val();</script

我有一个php函数,在这个函数中我有一个javascript,它从父窗口获取元素的值。我现在的问题是,如何将这个值传递到php变量中

任何帮助都将不胜感激

谢谢

蒂尔索

我尝试了这个代码,但得到的值总是1

这是我的密码

function do_upload()
{   
    $categories = print '<script type="text/javascript">window.top.window.$("#categories").val();</script>';
}    
函数do_upload()
{   
$categories=打印'window.top.window.$(“#categories”).val();
}    
我得到的$categories的值总是1

PHP语言构造始终返回1


PHP在服务器端执行。JavaScript在客户端执行。你不能直接把它们混在一起。最好让JavaScript在服务器上对PHP脚本进行AJAX调用。

PHP代码在服务器上运行(在代码发送到客户端浏览器之前),JavaScript在客户端运行(在代码发送到客户端浏览器之后)。除了向服务器发送请求之外,我不确定是否还有其他方法可以将信息传递给服务器。因此,如果您想向PHP应用程序(服务器端)发送内容,您必须从JavaScript代码(客户端)发送请求。您可以使用AJAX技术,但这会导致服务器上的另一个PHP进程启动。因此,您必须找到一种在基础PHP进程(创建JavaScript的人)和新进程(由JavaScript调用)之间进行通信的方法来传递信息。您可以使用服务器端数据持久性(如会话、文件或数据库),也可以使用进程间通信解决方案(如共享内存)。但我想这在实现中会变得更复杂一些。

您所能做的最好的事情是对服务器端页面进行ajax调用,该页面为您调用do_upload方法:

$.ajax({ 
    url: '/ajax.php', 
    data: 'category=' + window.top.window.$('#categories').val(), 
    type:'POST', 
    success:function(html){
    } 
});
ajax.php:

if ( isset( $_POST['category'] ) ) {
    do_upload( $_POST['category'] );
}
不要忘记过滤$\u POST数据,以确保其格式符合您的要求