Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php jQuery Json响应打印html标记_Php_Jquery_Ajax - Fatal编程技术网

Php jQuery Json响应打印html标记

Php jQuery Json响应打印html标记,php,jquery,ajax,Php,Jquery,Ajax,当我这样做时: <html> <head> </head> <body> <?php $value = isset($_GET['send_request']) ? $_GET['send_request'] : false ; if ($value) { echo $value; return; } ?> <a href="javascript

当我这样做时:

<html>
<head>
</head>
<body>
    <?php
    $value = isset($_GET['send_request']) ? $_GET['send_request'] : false ;

    if ($value) {
        echo $value;
        return;
    }
    ?>


    <a href="javascript: test()">A</a>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script type="text/javascript">

        function test() {

            // data to send
            var data = { send_request: 'Yes'}

            request = $.ajax({
                method: 'get',
                data: data
            });

            request.done(function(response){
                console.log(response);
            });
        }
    </script>
</body>
</html>
在控制台中,我得到:

<html>
<head>
</head>
<body>
    Yes

这是为什么?

这里的错误是您的php代码在输出此部分后执行:

<html>
<head>
</head>
<body>
将php代码移到页面顶部,它将修复此问题:
请记住,当您执行PHP脚本时,PHP将不使用OMMIT,而是考虑它的输出并继续进行:

。最好的做法是将PHP代码移到单独的PHP文件中,并在Ajax函数的URL选项中指定它的路径。新的PHP文件当然不应该像前面指出的那样在PHP代码之前包含HTML。

这是因为这是在PHP执行之前输出的HTML。将PHP放在HTML之前,或者放在它自己的文件中。谢谢!解释得很好!我只是在快速测试一些东西。一般来说是的,我会把东西分开。