php - 无法在新服务器上执行 Ajax 查询

标签 php ajax apache amazon-web-services ubuntu

我的 HTML 文件中有一个简单的 Ajax 查询

<script type="text/javascript" src="//code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
    $.ajax({
       url: "rnd.php"
    }).done(function(data) {
       console.log(data);
    });
</script>

函数 rnd.php 如下。这只是一个示例,需要针对更复杂的应用程序进行修改。

<?php
$res = (float)rand()/(float)getrandmax();
echo "$res"
?>

它在以前的 AWS 服务器上运行,但当我尝试配置新服务器时,Ajax 返回 PHP 文件的内容(在 Chrome 调试控制台上)而不是执行它。

最佳答案

我在许多论坛上搜索答案并在 AWS 上创建了 3 个新服务器。我无法在任何地方找到答案。我最终将此配置用于 Ubuntu ( https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04 )。我认为造成差异的是需要在 Apache 配置文件中正确设置服务器名称,否则即使 PHP 工作,Ajax 调用也不会工作。我在我的 apache 配置文件(Ubuntu 中的/etc/apache2/apache2.conf)的末尾添加了以下行

ServerName server_domain_or_IP

我自己试过公网IP。然后我重启了服务器

sudo /etc/init.d/apache2 restart

请注意,如果在客户端使用 Chrome,退出 Chrome 是不够的,您需要清除缓存。我困惑了 10 分钟,为什么它现在可以在 Safari 而不是 Chrome 中运行。

关于php - 无法在新服务器上执行 Ajax 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42795406/

相关文章:

php - 在谷歌地图上绘制方向

php - Symfony2 中的组表单域

javascript - 如何使用 ajax 显示多个字符串的串联? (或不)

java - Java Jersey 中的地理位置

linux - 使用Windows共享在debian guest apache中拒绝访问

php - 与 Mysql 和 PHP 的多对多关系

php - 使用javascript获取密码的哈希值,然后将其发送到服务器

php - 从 JavaScript 调用 php 函数

asp.net-mvc - ASP.Net MVC AJAX 链接不起作用

mysql - xampp 连接到工作 WIFI 后停止工作