jQuery ajax() POST请求到Slim PHP框架

4
使用 jquery mobile+phonegap,尝试向 Slim 应用程序发起 POST 请求,我有以下代码:
$( document ).on( "vclick", "#test_form", function() {
            $.ajax({
                type: "POST",
                url: "http://mydomain.com/slim/",
                crossDomain: true,
                beforeSend: function() {
                    $.mobile.loading('show')
                },
                complete: function() {
                    $.mobile.loading('hide')
                },
                data: {namec:$("#namec").val()},
                dataType: 'json',
                success: function(response) {
                    //console.error(JSON.stringify(response));
                    alert(response);
                },
                error: function() {
                    //console.error("error");
                    alert('Not working!');
                }
            });
});

我已经在其他非Slim PHP页面上进行了测试,一切顺利,但在Slim上我遇到了Ajax错误。

我的Slim应用程序:

<?php
require 'Slim/Slim.php';

\Slim\Slim::registerAutoloader();

$app = new \Slim\Slim();

$app->post('/', function () {
    echo json_encode($_POST("namec"));
});

$app->run();

我刚开始使用Slim框架,所以不确定我可能做错了什么。


使用开发工具/火狐浏览器的Firebug插件来检查响应并查看问题所在。我对Slim一无所知,但这是开始调试的最佳位置。 - BjornJohnson
这应该也可以,你需要将 $_POST("namec") 更改为 $_POST["namec"] - Aram
2个回答

8
你尝试过了吗:
$app->post('/', function() use ($app) {
       // ...
       $req = $app->request();
       echo json_encode($req->post('namec'));
       //...
}

这个页面也应该有所帮助


谢谢!这个方法很有效。我在 Slim 的文档中有些迷茫。 - Jorg Ancrath

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接