【问题标题】:AJAX is returning string of contents of PHP file on google cloudAJAX 在谷歌云上返回 PHP 文件的内容字符串
【发布时间】:2013-10-19 20:16:49
【问题描述】:

如果我在另一台服务器上运行此函数,php 文件实际上会运行并返回数据。当我在谷歌云服务器上的 javascript 文件中运行此代码时,我得到一个包含 php 文件内容的字符串。我的 yaml 文件有问题还是我还缺少其他东西? php 文件应该会抛出某种错误,因为我还没有设置 sql 数据库。

这是 AJAX:

$.ajax({
    type: 'POST',
    url: 'php/genjsonphp.php',
    data: { stdt : startformat.toString(), enddt : endformat.toString()},
    success: function(data) {
    try
      {
        successSearch(data);
      }
    catch(err)
      {
          txt="There was an error on this page getting the data points.\n\n";
          txt+="Error description: " + err.message + "\n\n";
          txt+="Click OK to continue.\n\n";
          txt+=data;
          alert(txt);
      }
    }  
});

我看到“数据”只是 PHP 文件 genjsonphp.php 的字符串。

编辑:我在 google-app 引擎上运行该应用程序。当我试图描述我的问题时,我犯了一个错误。我相信我的错误在于我的 YAML 文件。我有一个文件夹,主 index.php 文件可以访问并调用 php 文件(或者这就是它应该做的)。我认为我需要阅读 app.yaml 来修复它。以下是文件现在的样子:

application: melodic-bolt-364
version: 1
runtime: php
api_version: 1

handlers:
- url: /stylesheets
  static_dir: stylesheets

- url: /javascript
  static_dir: javascript

- url: /fancybox
  static_dir: fancybox

- url: /images_android
  static_dir: images_android

- url: /php
  static_dir: php


- url: /.*
  script: index.php

【问题讨论】:

  • 这意味着服务器未配置为运行 PHP 脚本。
  • 它是一个驱动器,而不是一个网络服务器...

标签: javascript php ajax google-app-engine app.yaml


【解决方案1】:

这里有这行:

- url: /php
static_dir: php

这意味着“将 PHP 目录中的所有内容都作为静态文件提供服务”。相反,试试这个:

- url: /php/genjson
script: php/genjsonphp.php

这将使路径“/php/genjson”执行你的脚本。

【讨论】:

  • 您好,感谢您的回复。我正在使用 google appengine,但我的问题写错了。我认为问题出在我的 app.yaml 文件中,但我不确定
  • 嗯,出于某种原因,我仍然无法使其正常工作。我有多个 php 文件,我正在尝试以这种方式添加它们。现在返回的“数据”字符串从我的 html 文件中返回文本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-15
  • 1970-01-01
  • 1970-01-01
  • 2015-03-14
  • 2016-04-19
  • 1970-01-01
  • 2019-01-26
相关资源
最近更新 更多