如果我在另一台服务器上运行此函数,则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
答案 0 :(得分:3)
你在这里有这条线:
- url: /php
static_dir: php
这意味着“将PHP目录中的所有内容作为静态文件提供服务”。相反,试试这个:
- url: /php/genjson
script: php/genjsonphp.php
这将使路径“/ php / genjson”执行你的脚本。