AJAX正在谷歌云上返回PHP文件的一串内容

时间:2013-10-11 16:53:19

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

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

这是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);
      }
    }  
});

我看到'data'只是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

1 个答案:

答案 0 :(得分:3)

你在这里有这条线:

- url: /php
static_dir: php

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

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

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