2015-01-22 2 views
2

Я потратил часы, проверяя весь свой код, шаг за шагом, и все еще не могу заставить его работать. В конечном итоге я получил php-файл для отправки тестового объекта в базу данных mysql, но я все еще не могу получить сообщение jQuery ajax для подключения к php. Может ли кто-нибудь определить проблему? Когда я запускаю код, я получаю сообщение «500 внутренних ошибок сервера».Как подключить мой пост ajax к php и mysql?

Javascript:

var jsonEntry = {"timestamp":"2015/01/21 22:18:00","note":"hi there","tags":["one", "two"]}; 

    // send json converted object to php file via ajax 
    $("#sendButton").click(function() { 
     $.ajax({ 
      url: 'php/ajax.php', 
      type: 'POST', 
      dataType: 'JSON', 
      data: jsonEntry, 
     error : 
       function(xhr, status, error) { 
       alert(xhr.status); 
        alert(error); 
       }, 
     success : 
       function(data) { 
         console.log('send success'); 
     } 
     }); 
    }); 

PHP код от "ajax.php:"

<?php 
if(isset($_POST["data"])) { 
$json = file_get_contents('php://input'); 
$obj = json_decode($json, true); 

$timeStamp = $obj[timestamp]; //added semicolon here 
$note = $obj[note]; 
$tags = $obj[tags]; 

//Connecting to a database 
    //Connection info 
    $hostname = "localhost"; 
    $username = "root"; 
    $password = "root"; 

    //Code to connect 
    $dbhandle = mysql_connect($hostname, $username, $password) 
     or die("Unable to connect to MySQL"); 
    echo "Connected to MySQL<br>"; 

    // Select database to work with 
    $selected = mysql_select_db("notes", $dbhandle) 
     or die("Could not select examples"); 

    //Execute SQL query and return records 
    mysql_query("INSERT INTO notes (dateAndTime, noteBody, noteTags) VALUES ('$timestamp', '$note', '$tags')"); 

    // Close the connection 
    mysql_close($dbhandle); 
} 
?> 

UPDATE: я добавил точку с запятой, где это необходимо в файле PHP, но теперь получаю ошибку 200, " SyntaxError: JSON Ошибка анализа: Неожиданный EOF. "

+0

Добавьте свой Аякс. php код здесь пожалуйста. – Vick

+0

если u получает ошибку 500, это всегда потому, что есть проблема на стороне PHP, в этом случае точка с запятой, как говорит Роб М. –

ответ

1

Я думаю, что проблема является недостающей точкой с запятой здесь:

$timeStamp = $obj[timestamp] 

С этой ошибкой фиксированной, вы включите эту строку:

$json = file_get_contents('php://input'); 

к:

$json = $_POST['data']; 
+0

Спасибо, Роб! Однако, как только я исправил, что я столкнулся с ошибкой «200». Есть предположения? – jhietter

+0

без проблем! обновил мой ответ –

+0

Закройте, но все еще есть следующее: SyntaxError: JSON Ошибка синтаксического анализа: Неожиданный идентификатор «Connected» – jhietter

Смежные вопросы