从php获取jQuery的变量

时间:2013-08-31 10:36:22

标签: php jquery

这是我在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);
    });


});

4 个答案:

答案 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中获取该值