Ajax PhoneGap总是错误

I must make an application, and I've decided to use PhoneGap, but my Ajax always say "ERROR", and I don't know why, because the insert works very well...

$("#test").click(function() {
    var name = $("#name").val();
    var password = $("#password").val();
    alert(name+' '+password);
    $.ajax({
        type: "POST",
        url: "http://191.165.1.16/PULZ/ajax_action.php",
        // contentType: "application/json; charset=utf-8",
        dataType: "json",
        data : {
            actionname : 'insert',
            name:name,
            password:password
        },
        success: function(data) {
            alert("work");
        },
        error: function(data) {
            alert("There was an error loading the feed");
        }
    });
});

And my PHP code

if (isset($_POST["actionname"]) && !empty($_POST['actionname'])){
    $actionname = $_POST['actionname'];

    if($actionname == 'insert'){
        $connect = new PDOsql();
        $name = $_POST['name'];
        $password = md5($_POST['password']);
        $sql="INSERT INTO user(name,password) VALUES(?,?)";
        $opt = array($name, $password);
        $connect->query($sql,$opt);

        $connect = null;

        die(
            json_encode(
                array(
                    'state'=>'success'
                )
            )
        );
    }
}

You can't use "empty()" with a non variable element, you will receive a internal server error "500", always.

Note: Prior to PHP 5.5, empty() only supports variables; anything else will result in a parse error. In other words, the following will not work: empty(trim($name)). Instead, use trim($name) == false.

PHP Manual - empty

Try this

JAVASCRIPT

$("#test").click(function() {
    var name = $("#name").val();
    var password = $("#password").val();
    alert(name + ' ' + password);
    $.ajax({
        type: "POST",
        url: "http://191.165.1.16/PULZ/ajax_action.php",
        // contentType: "application/json; charset=utf-8",
        dataType: "json",
        data: {
            actionname: 'insert',
            name: name,
            password: password
        },
        headers: {
            'Content-Type': 'application/json'
        }
        success: function(data) {
            alert("work");
        },
        error: function(data) {
            alert("There was an error loading the feed");
        }
    });
});

PHP

if (isset($_POST["actionname"]) && isset($_POST['name']) && isset($_POST['password'])){
    $actionname = $_POST['actionname'];
    $name = $_POST['name'];
    $password = $_POST['password'];

    if($actionname == 'insert'){
        $connect = new PDOsql();
        $name = $_POST['name'];
        $password = md5($_POST['password']);
        $sql="INSERT INTO user(name,password) VALUES($name,$password)";
        $opt = array($name, $password);
        $connect->query($sql,$opt);

        $connect = null;

        die(
            json_encode(
                array(
                    'state'=>'success'
                )
            )
        );
    }
}