【问题标题】:Echo certain value by AJAX request not working通过 AJAX 请求回显某些值不起作用
【发布时间】:2020-08-25 03:27:39
【问题描述】:

我对 test.php 进行了 ajax 调用,甚至在 devtools network 中显示调用成功。 问题是即使在成功调用之后,$country 也不会被回显。

这是我的代码

ajax.php

<!DOCTYPE html>
<html>
<head>
    <title>Interval</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script>
$.ajax({url: 'test.php',
         data: {value: 'India'},
         type: 'post',
         success : function(data){
            alert(data);
         }     
});
</script>
</head>
<body>
</body>
</html>

test.php

<?php
if(isset($_POST['value']) && $_POST['value'] == 'India'){
     $country = $_POST['value'];
        echo $country;
}
?>

【问题讨论】:

  • 请记住,您使用 AJAX,因此您不必刷新页面。把被javascript AJAX代码调用的PHP做成一个单独的文件,然后echo $country;,然后从success function(response){ alert($response);}的js代码中得到它
  • 不工作仍然没有错误,但它也不会回显输出。
  • 查看我编辑的代码。

标签: php arrays ajax


【解决方案1】:

您需要分离您的 ajax 代码并从 ajax 调用该文件。发生这种情况的原因是因为 ajax.php 正在返回从 &lt;html&gt; 开始并以 &lt;/html&gt; 结束的整个页面输出。所以 ajax.php 应该是这样的:

<?php
if(isset($_POST['value']) && $_POST['value'] == 'India'){
    $country = $_POST['value'];
    echo $country;
}
?>

然后你的脚本可以编辑为

<script>
$.ajax({url: 'ajax.php',
    data: {value: 'India'},
    type: 'post',
    success : function(data){
        alert(data);
    }       
});
</script>

【讨论】:

  • 这意味着我们不能向同一页面发出请求?
  • 你可以,但它不会达到你在这个用例中的目的。
  • 不工作仍然没有错误,但它也不会回显输出。
  • 我创建了一个聊天室,chat.stackoverflow.com/rooms/213494/…
猜你喜欢
  • 2014-09-27
  • 2017-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-21
  • 2012-11-28
  • 2014-12-28
相关资源
最近更新 更多