使用 ajax 访问模板的 php 个变量

Access php variables of a template with ajax

我知道这个问题已经在其他主题中得到了解答,但出于某种原因它对我不起作用,我不明白为什么。

我用 ajax 调用了一个模板,其中设置了一些 php 变量,我需要获取这些值。

第一-template.php

<?php
$advert = array(
        'ajax' => 'Hello world!',
        'advert' => 'Bye',
     );
    echo json_encode($advert);
?>

秒-template.php

?>
<script>
jQuery(document).ready(function($){
          
 $.ajax({
        beforeSend: function(){
        alert('Requesting...');
        },
        url : 'first-template.php',
        type : 'GET',
        dataType : 'json',
        success : function (result) {
           alert(result['ajax']); // "Hello world!" alerted
           alert(result['advert']) // "Bye" alerted
        },
         error : function(xhr, status, error) {
  alert(error);
}
    });

      });


</script>

它是这样显示的here但是函数returns错误。

首先,也许,您可以将请求类型更改为 GET,因为您没有 post 任何东西,但试图获取信息。

<script>
jQuery(document).ready(function($){
          
 $.ajax({
        beforeSend: function(){
        alert('Requesting...');
        },
        url : 'first-template.php',
        type : 'GET',
        dataType : 'json',
        success : function (result) {
           alert(result['ajax']); // "Hello world!" alerted
           alert(result['advert']) // "Bye" alerted
        },
        error : function () {
           alert("error");
        }
    });

      });


</script>

编辑:

这是一个功能脚本:

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script>
        $(function() {
                
        $.ajax({
                beforeSend: function(){
                alert('Requesting...');
                },
                url : 'first-template.php',
                type : 'GET',
                dataType : 'json',
                success : function (result) {
                    console.log(result);
                },
                error : function(xhr, status, error) {
        alert(error);
        }
            });

        });
    </script>

查看修改:

  • GET 而不是 POST
  • console.log(结果)看结果

在我的浏览器控制台中:

Object { ajax: "Hello world!", advert: "Bye" }

请确认一下,您是否正确加载 JQuery 并且是否在 WAMP/LAMP 服务器上工作?

你能post整个文件的代码吗?

编辑 2:

在控制台检查错误,post在这里,这样以后更容易找到问题。