我正在尝试使用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();
答案 0 :(得分:0)
使用以下代码
$results = json_decode(file_get_contents('php://input'), true);
$paramName = $supplier['name'];
而不是
$supplier=$app->request();
$paramName=$supplier->params('name');