tuyenle
tuyenle

Reputation: 79

Post data from javascript to php file using ajax doesn't work

When I tried to used ajax to post data from javascript file to php file, there was nothing displayed on php file after using

$_POST['userinput']

Here is the javascript file:

 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 file:

    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;
    }

I was able to connect to the mysql database. However, there was no data posted from javascript file to php. I'm not sure what to do from this point. the value $city print out nothing. On the client side it printed out an empty object.

Upvotes: 0

Views: 89

Answers (1)

Nitin Pund
Nitin Pund

Reputation: 1092

in your ajax function try setting dataType property

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

Upvotes: 1

Related Questions