0

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

4 回答 4

1

如果你想在 JavaScript 和 PHP 之间进行通信,最好的方法是创建一个隐藏输入字段来填充错误变量。然后你可以用 jQuery 读出这个值。

输入框:

<input type="hidden" value="<?php echo $error; ?>" id="errors" />

和 jQuery 代码:

var errors = $("input#errors").val();
于 2013-08-31T10:41:46.703 回答
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>
于 2013-08-31T10:49:37.987 回答
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(); ?>
于 2013-08-31T10:53:27.523 回答
-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 中获取该值

于 2013-08-31T10:41:25.217 回答