【问题标题】:jQuery ajax() POST to Slim PHP frameworkjQuery ajax() POST 到 Slim PHP 框架
【发布时间】:2013-06-10 00:15:27
【问题描述】:

使用 jquery mobile+phonegap,尝试 POST 到 Slim 应用程序,我有以下代码:

$( 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,所以不知道我做错了什么。

【问题讨论】:

  • 使用开发工具/萤火虫实际检查响应并查看问题所在。我对slim一无所知,但这是开始调试的最佳位置。
  • 这也应该可以,您必须将$_POST("namec") 更改为$_POST["namec"]

标签: php jquery jquery-mobile cordova slim


【解决方案1】:

你试过了吗:

$app->post('/', function() use ($app) {
       // ...
       $req = $app->request();
       echo json_encode($req->post('namec'));
       //...
}

Also this page should help

【讨论】:

  • 谢谢!这行得通。我有点迷失在 Slim 文档中。
【解决方案2】:

根据 slim v3,您可以使用 $request->getParams() 访问请求对象

$app->get('/', function (Request $request, Response $response){
   $data = $request->getParams()
   echo json_encode($data['namec']);
}

在此处查看文档https://www.slimframework.com/docs/v3/objects/request.html#route-object

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-12
    • 2016-11-08
    • 1970-01-01
    • 2012-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-12
    相关资源
    最近更新 更多