这是我在settings.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);
});
});
答案 0 :(得分:1)
如果您想在JavaScript和PHP之间进行通信,最好的方法是在填充errors-variable时创建一个隐藏的输入字段。然后你可以用jQuery读出这个值。
输入字段:
<input type="hidden" value="<?php echo $error; ?>" id="errors" />
jQuery-Code:
var errors = $("input#errors").val();
答案 1 :(得分:0)
您不能将PHP代码放在“javascript”文件中,PHP代码必须在PHP文件中。 如果将以下代码放在.php文件中,则可以使用以下代码:
<html>
<head>
<title>javascript test</title>
<script>
var error = '<?php echo $error;?>';
alert(error);
</script>
</head>
<body>
</body>
</html>
答案 2 :(得分:0)
我假设您的$ error将根据$ _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(); ?>
答案 3 :(得分:-1)
你在服务器端的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中获取该值