在JS文件中使用php

时间:2011-11-15 16:28:46

标签: php javascript

我正在尝试使用JS在登录时将用户定向到他们的个人资料页面。我需要在网址中获取个人资料ID,但它无效。

            if(data == 'success'){
                window.location = 'profile.php?id=<?= $user_id ?>';
            } else {
                $('#signin_errors').html(data);
            }

有什么建议吗?

6 个答案:

答案 0 :(得分:3)

如果这是<script src="blah.js"></script>中包含的文件,请将其更改为<script src="blah.php"></script>并将此代码添加到blah.php

<?php header("Content-type: application/x-javascript");
$user_id = "whatever"; ?>

if(data == 'success'){
   window.location = 'profile.php?id=<?php echo $user_id ?>';
} else {
   $('#signin_errors').html(data);
}

答案 1 :(得分:2)

您必须打印或回显变量。

if(data == 'success'){
    window.location = 'profile.php?id=<?php print $user_id; ?>';
} 
else {
    $('#signin_errors').html(data);
}

答案 2 :(得分:1)

只需将此行添加到.htaccess

即可
AddType application/x-httpd-php .php .js

答案 3 :(得分:0)

你不能在javascript文件中添加php,因为除非你将它添加到你的httpd.conf中,否则你的服务器将无法识别它

AddType application/x-httpd-php .php .js

答案 4 :(得分:0)

如果您可以直接将其添加到 PHP文件,它将起作用。例如:

<?php
echo "blablabla";
?>
<script>
if(data == 'success'){
                window.location = 'profile.php?id=<?= $user_id ?>';
            } else {
                $('#signin_errors').html(data);
            }

</script>

但如果你把它放到 .js文件,它就行不通了!因为它不是PHP文件,所以它是一个JS文件。 Apache不会读取JS文件中的php代码。

答案 5 :(得分:0)

我认为最好的方法是在php文件中执行此操作并回显您想要的脚本。一定要逃避所需的字符。

类似的东西:

echo "<script type=\"text/javascript\">
window.addEvent('domready', function() {

    myjavascriptcode();
$('mybutton').set('html', '<input id=\"mybutton\" type=\"submit\" value=\"" . $php_variable . "\" />');
}); 
</script>";