我正在尝试使用JS在登录时将用户定向到他们的个人资料页面。我需要在网址中获取个人资料ID,但它无效。
if(data == 'success'){
window.location = 'profile.php?id=<?= $user_id ?>';
} else {
$('#signin_errors').html(data);
}
有什么建议吗?
答案 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>";