jQuery ajax() POST to Slim PHP framework

13,186

Have you tried:

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

Also this page should help

Share:
13,186
Jorg Ancrath
Author by

Jorg Ancrath

Updated on July 23, 2022

Comments

  • Jorg Ancrath
    Jorg Ancrath almost 2 years

    Using jquery mobile+phonegap, trying to POST to a Slim application, I have this code:

    $( 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!');
                    }
                });
    });
    

    I have tested this with other non Slim PHP pages and everything works fine, I get the ajax error with Slim though.

    My Slim app:

    <?php
    require 'Slim/Slim.php';
    
    \Slim\Slim::registerAutoloader();
    
    $app = new \Slim\Slim();
    
    $app->post('/', function () {
        echo json_encode($_POST("namec"));
    });
    
    $app->run();
    

    Just started using Slim, so not sure what I could be doing wrong.