这是我在setings.php 中的变量
$error = output_errors($errors);
我想在我的jQuery文件'settings.js'中回显
$('#save_settings').click(function(){
var first_name = $('#first_name').val();
var last_name = $('#last_name').val();
var email = $('#email').val();
$.post('settings.php', { first_name: first_name, last_name: last_name, email: email}, function(data){
$('#show').html('settings saved').fadeIn(500).delay(2000).fadeOut(500);
alert(data);
});
});
如果您想在JavaScript和PHP之间进行通信,最好的方法是创建一个隐藏的输入字段来填充errors变量。然后您可以使用jQuery读取该值。
输入字段:
<input type="hidden" value="<?php echo $error; ?>" id="errors" />
以及jQuery代码:
var errors = $("input#errors").val();
您不能将PHP代码放在"javascript"文件中,PHP代码必须在PHP文件中。如果将以下代码放在.php文件中,则可以使用:
<html>
<head>
<title>javascript test</title>
<script>
var error = '<?php echo $error;?>';
alert(error);
</script>
</head>
<body>
</body>
</html>
我假设您的$错误会因$_POST值的不同而不同。如果您的响应标头是HTML格式的,那么您可以执行类似的操作。
// in your JS codes.
$.post('settings.php', function(response) {
$('#show').html(response).fadeIn(500).delay(2000).fadeOut(500);
});
// in your php codes.
<?php if(isset($error)) { echo($error); } else { echo("setting saved"); } die(); ?>
您想要从服务器端在js中执行的任何操作都必须是AJAX或JSON响应。从php函数中回显它,并以javascript中的AJAX或JSON形式获取它。
$.getJSON('url for the php file', function(data){}
在php文件中只回显值
参见http://php.net/manual/en/function.json-encode.php
或者取一个隐藏的输入字段并将值放在那里。您可以使用"id"或"class"属性从js中获取该值