1

我已经使用 Phpstorm 创建了一个 GAE php 应用程序,但问题出在创建的站点上。当站点加载时,它显示一切正确,当我提交表单时,站点理解处理表单的第二个 php 文件与 index.php 文件相同。css 文件也发生在我身上,chrome 将错误描述为“资源解释为样式表,但使用 MIME 类型文本/html 传输”,但我使用样式标记尝试打印从表单接收到的数据并打印整个 index.php 文件。我认为问题出在 app.yaml 文件中。我的项目中有 3 个文件:app.yaml、index.php、toAction.php。

注意:我使用 ajax/jquery 连接到 php,因为我不希望 php 重新加载我的页面。我试过没有它,问题仍然存在。同一站点适用于其他网络托管服务。我也发布了 ajax/jquery 代码。

这是我的 app.yaml :

application: santamailer
version: 1
runtime: php
api_version: 1
threadsafe: true

handlers:
- url: .*
script: main.php

ajax/jquery 代码:

$(document).ready(function(){
$('#form').on('submit',function(e) {

$.ajax({
    url:'/toAction.php',
    data:$(this).serialize(),
    type:'POST',
    success:function(data){
        console.log(data);
    $("#error").show().fadeOut(5000);
    },
    error:function(data){
        $("#error").show().fadeOut(5000);
    }
    });
e.preventDefault();
});
});

toAction.php :

<?php
if(isset($_POST['name'])) {
    //print_r($_POST);

    $name = $_POST['name'];

    $message1 = $_POST['message'];

    echo $name;
    echo $message1;

}

    echo $_POST['name'];
    echo $_POST['message1'];
?>
4

1 回答 1

1

假设您有一个包含所有 css 文件的文件夹,例如 /static/css,您的 app.yaml 文件中应该有相应的条目

handlers:
- url: /static/css
  static_dir: static/css
- url: .*
  script: main.php

这样,当您通过 http://.appspot.com/static/css/foo.css 请求 css 时,GAE 将提供正确的静态文件,而不是访问您的 main.php。

于 2014-10-31T14:59:51.567 回答