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.
Have you tried:
$app->post('/', function() use ($app) {
// ...
$req = $app->request();
echo json_encode($req->post('namec'));
//...
}
As per slim v3 you can access the request object with $request->getParams()
$app->get('/', function (Request $request, Response $response){
$data = $request->getParams()
echo json_encode($data['namec']);
}
see documentation here https://www.slimframework.com/docs/v3/objects/request.html#route-object
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.