2011-11-25 48 views
2
var page_my_code_is_on = (document.referrer); 
document.write("<?php echo '" + page_my_code_is_on + "'; ?>"); 

我该如何写js中的上述php作为var,而不是echo在JavaScript中生成php?

我阅读下列但对我来说

http://www.webcheatsheet.com/PHP/passing_javascript_variables_php.php

+0

(你不能在JavaScript编写PHP和执行它),我不能告诉你在问什么。你能澄清你想要做什么吗? – JAAulde

+1

PHP是一种服务器端语言,除非你正在向PHP发送某些东西(例如通过AJAX),否则它不能在渲染后“回显”某些东西,这不是PHP的工作原理。 – jackJoe

+1

JavaScript适用于客户端,服务器端PHP。如果您在客户端添加PHP代码,则无法往返服务器(例如使用AJAX)执行该代码。你试图实现什么? – Quasdunk

回答

10

它不工作,这样就没有工作。您可以通过回显浏览器将解析的JavaScript定义将PHP变量传递给JavaScript。如果您想将JavaScript变量引入PHP,您将不得不执行POST或GET请求。 AJAX也是可能的。

请记住,JavaScript是在用户的浏览器中执行的,PHP是在您的服务器上执行的。这是个很大的差异。

+0

我需要获取js var(page_my_code_is_on)到php var。如何通过邮寄或获得? var page_my_code_is_on =(document.referrer); document.write(“<?php echo'”+ page_my_code_is_on +“';?>”); –

+0

你把它放到一个窗体的(隐藏)字段中并提交表单。或者你调用另一个页面并追加'?location ='和你的变量值。在这两种情况下,您都会离开活动页面。只有AJAX可以阻止这一点。 –

+0

你有没有任何示例代码w/ajax? –

1

你不能这样做。这是怎么回事:

  1. 页面被加载到服务器上,PHP在服务器上执行。

  2. 页发送给客户端(用户)

  3. JavaScript是在用户计算机执行。

你想要的是:

  1. 加载页面时,JavaScript的执行。

  2. 执行PHP。

  3. 页面发送给用户。

你想要的是:

document.write("<?php echo $_SERVER["HTTP_REFERER"]; ?>"); 
+0

如何将它设置为js中的一个php变量? (“<?php $ var = $ _SERVER [”HTTP_REFERER“];?>”); –

+0

我使用的是document.referrer,因为我希望用户在他们的网站上放置这个iframe,并将网站的链接报告给我。难度在于获取js var到一个php var