Php 从ajax调用填充警报消息

Php 从ajax调用填充警报消息,php,jquery,ajax,post,Php,Jquery,Ajax,Post,我试图在ajax调用后填充一个元素,但我不太确定这是否是正确的方法,如果是,我会错在哪里 这是我的密码 $(document).ready( function() { $("#edit_delete").click(function() { $.post('mySelect.php', $("#edit_delete").serialize(), function(result) { $('#message1').html(<?php ech

我试图在ajax调用后填充一个元素,但我不太确定这是否是正确的方法,如果是,我会错在哪里

这是我的密码

$(document).ready( function() {
    $("#edit_delete").click(function() {
        $.post('mySelect.php', $("#edit_delete").serialize(), function(result) {
            $('#message1').html(<?php echo $myTest; ?>);
            $('#message2').html(<?php echo $myOtherTest; ?>);
        });
    }   
});
$(文档).ready(函数(){
$(“#编辑_删除”)。单击(函数(){
$.post('mySelect.php',$(“#编辑_删除”).serialize(),函数(结果){
$('#message1').html();
$('#message2').html();
});
}   
});
mySelect.php:

<?php include '../../includes/connection.php' ?>
<?php
    $selected_user = $_POST["users"];
    $result = mysql_query("SELECT * FROM users WHERE id = $selected_user");
    $row = mysql_fetch_array($result, MYSQL_ASSOC);
?>
<?php $myTest = $row['id']; ?>
<?php $myOtherTest = $row['name']; ?>
<?php mysql_close($con); ?>


(如果您需要更多信息,请告诉我,并请随时编辑我的问题,使其有意义!)

在进行AJAX调用后,PHP脚本的整个输出(在您的示例中)都放在回调的“results”参数中

这意味着如果在mySelect.php中
echo'Hello!';
,则结果将包含字符串'Hello!'

如果您想提醒结果,那么您所要做的就是:
alert(results);
在回调中


正如其他几个人所指出的,您还可以考虑使用数组来帮助您更好地利用从服务器发送回来的数据。

在进行AJAX调用之后,PHP脚本的整个输出(在您的例子中)都放在回调的“results”参数中

这意味着如果在mySelect.php中
echo'Hello!';
,则结果将包含字符串'Hello!'

如果您想提醒结果,那么您所要做的就是:
alert(results);
在回调内部


正如其他几个人所指出的,您还可以考虑使用数组来帮助您更好地利用从服务器发送回来的数据。

不,您应该将数据回显到客户端,然后使用它

<?php include '../../includes/connection.php' ?>
<?php
    $selected_user = $_POST["users"];
    $result = mysql_query("SELECT * FROM users WHERE id = $selected_user");
    $row = mysql_fetch_array($result, MYSQL_ASSOC);
//prepare an array to return
$return = array();
$return['id'] = $row['id']; 
$return['name'] = $row['name']; 
//set the header
header('application/json');
//encode it and echo it back
echo json_encode($return);

这样做是因为您正在对服务器进行异步调用:您不需要重新加载页面,只需进行调用并返回一些数据。不,您应该将数据回显到客户端,然后使用它

<?php include '../../includes/connection.php' ?>
<?php
    $selected_user = $_POST["users"];
    $result = mysql_query("SELECT * FROM users WHERE id = $selected_user");
    $row = mysql_fetch_array($result, MYSQL_ASSOC);
//prepare an array to return
$return = array();
$return['id'] = $row['id']; 
$return['name'] = $row['name']; 
//set the header
header('application/json');
//encode it and echo it back
echo json_encode($return);

您这样做是因为您正在对服务器进行异步调用:您不需要重新加载页面,只需进行调用并返回一些数据。结果的工作方式是它发送应用程序的整个输出。因此,变量无法按预期工作

相反,您要做的是通过如下方式进行echo json_编码(javascript对象表示法):

<?php
  echo json_encode(array('myTest' => $row['id'], 'myOtherTest' => $row['name']));
?>

然后您可以通过以下方式呼叫:


来自ajax回调的results.myTest

结果的工作方式是它发送应用程序的整个输出。因此变量无法按预期工作

相反,您要做的是通过如下方式进行echo json_编码(javascript对象表示法):

<?php
  echo json_encode(array('myTest' => $row['id'], 'myOtherTest' => $row['name']));
?>

然后您可以通过以下方式呼叫:

ajax回调中的results.myTest

您应该查看

这里有一个使用JSON的示例

$.post("test.php", { "func": "getNameAndTime" },
 function(data){
   console.log(data.name); // John
   console.log(data.time); //  2pm
 }, "json");
在您给出的代码中,Javascript变量result将由您呼出的任何内容填充。

您应该查看

这里有一个使用JSON的示例

$.post("test.php", { "func": "getNameAndTime" },
 function(data){
   console.log(data.name); // John
   console.log(data.time); //  2pm
 }, "json");

在您给出的代码中,Javascript变量result将由您呼出的任何内容填充。

在我看来,您应该避免在$.post函数的回调中使用php。 您可以使用ajax做任何您想做的事情

Javascript代码:

$(document).ready( function() {
    $("#edit_delete").click(function() {
    $.ajax({
            type: "POST",
            url: "mySelect.php",   
            data: 'users='+$("#edit_delete").serialize(),
            success: function(data) {
            var result = $.parseJSON(data);    
                $('#message1').html(result.id);
                $('#message2').html(result.name);
            }
       });          
    }   
});
PHP代码:

<?php 
include '../../includes/connection.php';

$selected_user = $_POST["users"];
$result = mysql_query("SELECT * FROM users WHERE id = $selected_user");
$row = mysql_fetch_array($result, MYSQL_ASSOC);

$return = array(
'id' => $row['id'],
'name' => $row['name']
);

mysql_close($con);

echo json_encode($return);
?>

尽量避免在每一行中打开和关闭php标记。一个在fila的开头,一个在fila的结尾就足够了

对不起,我的英语不好


祝您好运

在我看来,您应该避免在$.post函数的回调中使用php。 您可以使用ajax做任何您想做的事情

Javascript代码:

$(document).ready( function() {
    $("#edit_delete").click(function() {
    $.ajax({
            type: "POST",
            url: "mySelect.php",   
            data: 'users='+$("#edit_delete").serialize(),
            success: function(data) {
            var result = $.parseJSON(data);    
                $('#message1').html(result.id);
                $('#message2').html(result.name);
            }
       });          
    }   
});
PHP代码:

<?php 
include '../../includes/connection.php';

$selected_user = $_POST["users"];
$result = mysql_query("SELECT * FROM users WHERE id = $selected_user");
$row = mysql_fetch_array($result, MYSQL_ASSOC);

$return = array(
'id' => $row['id'],
'name' => $row['name']
);

mysql_close($con);

echo json_encode($return);
?>

尽量避免在每一行中打开和关闭php标记。一个在fila的开头,一个在fila的结尾就足够了

对不起,我的英语不好

祝你好运