非常简单的代码使用$.jquery的Post显示的是整个代码而不是回显

Very simple code using $.post of jquery is showing the entire code instead of the echo

本文关键字:代码 Post 简单 非常 jquery 显示      更新时间:2023-09-26

该代码应该将div上的书写从"Click here"更改为"hello",但是,它显示了php文档的整个代码。

HTML:

<html>
<head>
    <script type="text/javascript" src="jquery.js"></script>
</head>
<body>
    <div id="target">
      Click here
    </div>
    <script type="text/javascript" src="jcode.js"></script>
</body>
</html>
Javascript:

$( "#target" ).click(function() {
  $.post(
        'test.php', {name:"Donald"}, 
        function(data){
            $('#target').html(data);
        }
    );
});
PHP:

<$php
if(isset($_POST['name'])){
    $name = $_POST['name'];
    echo $name;
}
echo 'hello';
$>

<$php$?不是PHP标签,<?php?>是。

<?php
    if(isset($_POST['name'])){
        $name = $_POST['name'];
        echo $name;
    }
    echo 'hello';
?>

强制php返回json格式的数据,当然还有相关的头文件,这样它们就能很好地理解彼此。试着用这个方法:

PHP

<?php header('Content-Type: application/json');
    if(isset($_POST['name']))
    {
        $name = $_POST['name'];
        $response = [
            'name' => $name
        ];
    }
    echo json_encode($response);
?>
Javascript:

$( "#target" ).click(function() {
    $.post('test.php', {name:"Donald"}, 
        function(data){
            $('#target').html(data.name);
        }
    );
});