使用纤细的框架,无法在ajax帖子中获得价值

时间:2015-11-13 06:17:26

标签: php

我正在尝试使用slim来编写简单的应用程序,但是我无法在ajax帖子中使用slim来获取值总是它显示null值和500服务器错误。这就是我试图做的事情。如何使用ajax传递数据并获取该数据。这段代码有什么问题。 请帮帮我

我的代码(jquery)

$('document').ready(function(){
        $('input').change(function(){
         var nama=$(this).val();
            var supplier={'name':name};
            var rootURL ='http://localhost/manju/Slim/';
         alert($(this).val());
            $.ajax({
                        type: 'POST',
                        url: rootURL +'supplier',
                        dataType: 'json',
                        data:supplier,
                        contentType: "application/json; charset=utf-8",
                        success: function(response){
                            alert(response);

                        },
                        error: function(){
                           alert('error');
                        }
                    });
        });
    });  

server side (slim)
ini_set('display_errors', 1); 
error_reporting(E_ALL);
require 'Slim/Slim.php';

\Slim\Slim::registerAutoloader();

$app = new \Slim\Slim();

/* Connect to an ODBC database using driver invocation */
$dsn = 'mysql:dbname=manju;host=127.0.0.1';
$user = 'root';
$password = '';

try {
    $db = new PDO($dsn, $user, $password);

} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

$app->post('/supplier',function () use($app,$db) {
      $supplier=$app->request();
      $paramName=$supplier->params('name');
      $query='INSERT INTO name (`name`) VALUES ("'.$paramName.'")';
      $insert=$db->query($query);
      echo json_encode($paramName);


});


$app->run();

1 个答案:

答案 0 :(得分:0)

使用以下代码

$results = json_decode(file_get_contents('php://input'), true);
$paramName = $supplier['name'];

而不是

$supplier=$app->request();
$paramName=$supplier->params('name');