AJAX to PHP not sending data to database using NODEJS

I'm currently developing a chat project.. I'm using a php framework and have managed to run it on node now the problem I'm currently experiencing is that the ajax query is not working it does not send a single data to my database.. the script that I used is perfectly working because I used this script when I was still using a long-polling of ajax for a chat app... It just didnt work now when I used it on the new chat app using node that I was developing... Here is my index.php

<?php startblock('script') ?>
    <script src="/socket.io/socket.io.js"></script>
    <script src="http://code.jquery.com/jquery-1.11.1.js"></script>
    <script>
        var socket = io();
        $('form').submit(function(){
            socket.emit('chat message', $('#m').val());
            $('#m').val('');
            return false;
        });
        socket.on('chat message', function(msg){
            var data2 = { text: msg };

            $.ajax({
                url: 'localhost:3000/includes/message/store_chat.php',
                dataType: 'json',
                type: 'POST',
                data: {json:JSON.stringify(data2)},
                success: function (data2) {  }
            });
        });
    </script>

    <script>
        jQuery(function ($) {
            $(window).on("resize", function () {
                body      = $("html,body"),
                menu      = $("#side-menu").width(),
                gridW     = body.width() - (menu + 30),
                gridH     = body.height();

                $("#message-app-wrapper").css("height", gridH);
                $("#views-wrapper").css("width", gridW);
            }).resize();
        });
    </script>
<?php endblock(); ?>

And this is the database handler

<?php

//Send some headers to keep the user's browser from caching the response.
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" ); 
header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" ); 
header("Cache-Control: no-cache, must-revalidate" ); 
header("Pragma: no-cache" );
header("Content-Type: text/plain; charset=utf-8");

$json2 = $_POST['json'];
$data = json_decode($json2);

$text = $data->text;

$con = new PDO("mysql:host=localhost:3000;dbname=schat", "root" , "");
$con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

$sql2 = "INSERT INTO chat_storage(chat) VALUES(:msg)";
$stmt2 = $con->prepare($sql2);
$stmt2->bindValue( 'msg',$text, PDO::PARAM_STR);
$stmt2->execute();
?>

The index.js is here:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var validator;

function getStdout(command, args, fn) {
    var childProcess = require('child_process').spawn(command, args);
    var output = '';
    childProcess.stdout.setEncoding('utf8');
    childProcess.stdout.on('data', function(data) {
        output += data;
    });
    childProcess.on('close', function() {
        fn(output);
    });
}

app.use('/assets', require('express').static(__dirname + '/assets'));
app.use('/temp', require('express').static(__dirname + '/temp'));
app.use('/includes/message', require('express').static(__dirname + '/includes/message'));
app.get('/', function(req, res) {
    //res.sendfile(__dirname + '/' +validator);
    res.send(validator);
});

//you should have only one io.on('connection')
io.on('connection', function(socket) {
    socket.on('chat message', function(msg){
        console.log('message: ' + msg);
        io.emit('chat message', msg);
    });
});

getStdout('php', ['index.php'], function(output) {
    validator = output;
    //start your server after you get an output
    http.listen(3000, function() {
        console.log(validator);
    });
});

These are what I have so far. For some reason it wont' store to my database I don't know if I did something wrong here or have missed to add something.

Try talking directly to mysql within node.js. Also good to create a new username instead of logging as root to mysql. Here's a code snippet, with some comments:-

var mysql =  require('mysql'); // run: npm install mysql
var http = require('http');
var express = require('express');
var app = express();

var connection =  mysql.createConnection({ // setup the connection
        host : "localhost",
        user : "username",
        password: "password",
})

connection.connect(function(err) { // connect and handle errors
  if(err) {  
   // handle your errors here 
  }
}); // end .connect()

app.get('/path/:msg', function(req,res){ // process incoming message
  res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' })

  var myMsg= req.params.msg; // obtain the incoming msg
  var strQuery = "INSERT INTO chat_storage(chat) VALUES(?)"; // your SQL string

  connection.query("use schat"); // select the db
  connection.query( strQuery, myMsg, function(err, rows){
     if(err) {
        // handle errors
     } else {
        // message received
     }
   }); end .query()
}); // end app.get()