doutang2017 2016-06-24 09:37
浏览 58
已采纳

symfony中PHP文件的路径

I am practicing unit test for AJAX call in Symfony 2.8.

Here is my code in a .js file. I call it in my TWIG :

<script>
QUnit.test("test dynamic fill", function (assert) {
            var ajax = $("#ajax"); //my div to fill
            $("#feed_the_ajax").click(function () {
                $.ajax({
                    url: "echo.php",
                    type: "POST",
                    data: {text: "Hello world !"},
                    success: function (data) {
                        ajax.text(data);
                    },
                    error: function () {
                    }
                });
                assert.ok(!ajax.text() == "Hello world !", "Hello !");
            });
            assert.ok(!ajax.text() == "Hello world !", "Answer me ...");
        });
</script>

echo.php file is just like this :

<?php
if($_POST['text'] != ""){
    return $_POST['text'];
}

When I run the code, it tells me that "echo.php" is not found. I guess that I have to specify the route for the file.

I didn't modify anything in the server configuration. Here is my config.yml file :

imports:
    - { resource: parameters.yml }
    - { resource: security.yml }
    - { resource: services.yml }

# Put parameters here that don't need to change on each machine where the app is deployed
# http://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
parameters:
locale: en

framework:
    #esi:             ~
    #translator:      { fallbacks: ["%locale%"] }
    secret:          "%secret%"
router:
    resource: "%kernel.root_dir%/config/routing.yml"
    strict_requirements: ~
form:            ~
csrf_protection: ~
validation:      { enable_annotations: true }
#serializer:      { enable_annotations: true }
templating:
    engines: ['twig']
default_locale:  "%locale%"
trusted_hosts:   ~
trusted_proxies: ~
session:
    # handler_id set to null will use default session handler from php.ini
    handler_id:  ~
fragments:       ~
http_method_override: true

# Twig Configuration
twig:
debug:            "%kernel.debug%"
strict_variables: "%kernel.debug%"

# Doctrine Configuration
doctrine:
dbal:
    driver:   pdo_mysql
    host:     "%database_host%"
    port:     "%database_port%"
    dbname:   "%database_name%"
    user:     "%database_user%"
    password: "%database_password%"
    charset:  UTF8
    # if using pdo_sqlite as your database driver:
    #   1. add the path in parameters.yml
    #     e.g. database_path: "%kernel.root_dir%/data/data.db3"
    #   2. Uncomment database_path in parameters.yml.dist
    #   3. Uncomment next line:
    #     path:     "%database_path%"

orm:
    auto_generate_proxy_classes: "%kernel.debug%"
    naming_strategy: doctrine.orm.naming_strategy.underscore
    auto_mapping: true

# Swiftmailer Configuration
swiftmailer:
transport: "%mailer_transport%"
host:      "%mailer_host%"
username:  "%mailer_user%"
password:  "%mailer_password%"
spool:     { type: memory }

Thanks for your answers, Telest

  • 写回答

2条回答 默认 最新

  • douqiao6563 2016-06-24 11:03
    关注

    Your server does not allow anything else as app.php or app_dev.php.

    For example if your server is NginX and you use the recommanded NginX configuration :

    http://symfony.com/doc/current/cookbook/configuration/web_server_configuration.html#nginx

    You have this block, which throws your 404 error ... :

    # return 404 for all other php files not matching the front controller
    # this prevents access to other php files you don't want to be accessible.
    location ~ \.php$ {
      return 404;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建