我知道这已经讨论过,但我似乎无法做任何事情。我正在尝试将变量$thedate
从PHP文件mainclass.php
传递到JS函数中的变量datestr
来自文件footer_script.php
JS:
function getsched(str)
{
//some code
$.ajax({
type: 'POST',
url: 'mainclass.php',
data: 'date=' + str + '&form=getsched',
success: function(data) {
var datestr = <?php echo json_encode($thedate); ?>;
$("#" + str).html(data);
}
}).error(function() {
alert(data);
});
}
PHP:
case "getsched":
//some code
//some query
while($row = mysql_fetch_array($result))
{
//more code
$thedate = $_POST['date'];
}
//other code here
break;
当我提醒datestr
时,我得到undefined
。如何解决这个问题?
答案 0 :(得分:0)
你不能像这样使用PHP。您应该从PHP获取响应并使用它。在PHP中,您应该输出类似于此的响应(只是JSON响应的一个示例):
echo json_encode(array('thedate', '2018-4-3'));
你可以在JS中获得2018-4-3
的值:
function getsched(str)
{
//some code
$.ajax({
type: 'POST',
url: 'mainclass.php',
data: 'date=' + str + '&form=getsched',
success: function(data) {
var datestr = data.thedate;
$("#" + str).html(datastr);
}
}).error(function() {
alert(data);
});
}
答案 1 :(得分:0)
您需要替换以下行:
var datestr = JSON.stringify(date);
alert(datestr);
与
@font-face {
font-family: 'RobotoBold';
src: url('./Roboto-Bold.ttf');
}
它会将服务器响应转换为JSON编码的字符串。然后,编码的字符串将显示在警报中。见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
答案 2 :(得分:0)
在包含JS文件之前,在HTML / PHP文件中分配一个全局变量。
var datestr = <?php echo $thedate; ?>;
然后,您可以从JS文件中访问datestr变量。