【问题标题】:Post data from javascript to php file using ajax doesn't work使用ajax将数据从javascript发布到php文件不起作用
【发布时间】: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


【解决方案1】:

在您的 ajax 函数中尝试设置 dataType 属性

$.ajax({
            url: 'userinput.php',
            data: {'userinput' : 'userinput'},
            type: "POST",
            dataType: "text", // add this property
            success: function (result) {
                alert(JSON.stringify(result));
            }
        });

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2016-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多