【发布时间】:2016-10-24 15:35:40
【问题描述】:
当我尝试使用ajax将数据从javascript文件发布到php文件时,使用后php文件上没有显示任何内容
$_POST['用户输入']
这里是 javascript 文件:
searchBox.addListener('places_changed', function() {
var places = searchBox.getPlaces();
userinput = places[0].name.toString(); // Get user input from search box
// Pass data to userinput.php via ajax
$.ajax({
url: 'userinput.php',
data: {userinput : userinput},
type: "POST",
success: function (result) {
alert(JSON.stringify(result));
}
});
});
php 文件:
if (isset($_POST)) {
$servername = "localhost";
$username = "XXXXXXX";
$password = "XXXXXXXXX";
$dbname = "CALIFORNIA";
$city = $_POST['userinput']; // Nothing is posted here
// Create connection
$conn = new PDO("mysql:host=localhost;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, 1);
$sql = $conn->prepare("SELECT State FROM CITY as C WHERE C.City_name=$city");
$sql->execute();
$result = $sql->fetchAll();
$json = json_encode($result);
echo $json;
}
我能够连接到 mysql 数据库。但是,没有数据从 javascript 文件发布到 php。从这一点开始,我不确定该怎么做。 $city 的值不打印任何内容。在客户端,它打印出一个空对象。
【问题讨论】:
-
警报(用户输入);并检查它返回的内容。它是否会提醒您的搜索文本输入?
-
data: {'userinput' : userinput},引号丢失 -
@Anant 引号或无引号在这种情况下不会改变任何内容。引号仅在设置作为有效 JS 标识符的键名时才有用(例如:
not-valid,因为破折号) -
向我们展示
userinput的价值 -
var places = searchBox.getPlaces();用户输入 = 地点[0].name.toString();验证用户输入变量是否具有正确的值
标签: javascript php ajax