2015-07-02 2 views
-5

Как говорится в названии, я пытаюсь передать пару переменных js в файл php. Вот мой код до сих пор.Пытается передать переменные js в php с помощью ajax

JS:

$.ajax({ 
    method: "POST", 
    url: "sendDataToDB.php", 
    data: { 
     mainVideoData: mainVideoTitle 
    }, 
    success: function(data) { 
     alert("data sent"); 
    }, 
    error: function(data) { 
     alert("Data sending failed"); 
    } 
}); 

sendDataToDB.PHP:

<?php 
$temp = $_POST["mainVideoData"]; 
echo $temp; 
?> 

Я видел этот код на различных веб-сайтах, но по какой-то причине это не работает для меня. В нем говорится, что 'mainVideoData' - undefined, что в основном означает, что его не существует.

Кто-нибудь знает, что я сделал не так? Спасибо!

EDIT:

Я прочитал несколько предложений, и решил сделать целый новый файл с помощью только коды кто-то дал мне, что работал на него. Вот мой весь файл php и весь js-файл.

php.php:

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <script src="jquery-2.1.3.js" type="text/javascript"></script> 
    <script src="getApiData.js" type="text/javascript"></script> 
    <meta charset="utf-8"/> 
    <link rel="stylesheet" href=""/> 
</head> 
<body> 

</body> 
</html> 

<?php 
if(isset($_POST['mainVideoData'])){ 
    $temp = $_POST["mainVideoData"]; 
    echo $temp; 
} 
?> 

И вот весь мой JS файл:

$(document).ready (function(){ 
    var mainVideoTitle = "Hello"; 
    $.ajax({ 
     method: "POST", 
     url: "php.php", 
     data: { 
      mainVideoData: mainVideoTitle 
     }, 
     success: function(data) { 
      alert("data sent"); 
     }, 
     error: function(data) { 
      alert("Data sending failed"); 
     } 
    }); 
}); 

Это только дает мне предупреждение о том, 'данные, отправленные', но это не эхо «привет ». Кто-нибудь знает, что случилось?

EDIT 2:

Так что я добавил код в моем файле PHP, который должен поставить свой $ темп в базе данных. К сожалению, это не работает. Когда я заменяю $ temp нормальным значением, например «hello», он помещает его в мою базу данных. Когда я использую $ темп дает мне эту ошибку:

Ошибка: INSERT INTO youtubevideos (категории) ЗНАЧЕНИЯ (Wiz Khalifa - See You Again фт Чарли Пут [Official Video] Furious 7 Soundtrack.)
У вас ошибка в ваш синтаксис SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «Халифой - см. снова». Чарли Пут [Официальное видео] Саундтрек Furious 7) по строке 2

Как вы можете видеть, дайте мне правильное значение, и оно также установит правильное значение в VALUES. Но по какой-то причине он все еще дает мне эту ошибку. Почему?

+0

попытка 'данных: {mainVideoData: "mainVideoTitle"}' – Sathish

+0

Где вы определения 'mainVideoTitle'? – Albzi

+0

mainVideoTitle - переменная, которую я сделал ранее – Max

ответ

1
  1. jQuery library is definitely included
  2. check the path of your php file is valid
  3. check mainVideoTitle defined or not

После просто попробуйте это.

Сценарий:

$(document).ready (function(){ 
    var mainVideoTitle = "Hello"; 
    $.ajax({ 
     method: "POST", 
     url: "sendDataToDB.PHP", 
     data: { 
      mainVideoData: mainVideoTitle 
     }, 
     success: function(data) { 
      alert("data sent"); 
     }, 
     error: function(data) { 
      alert("Data sending failed"); 
     } 
    }); 

});

sendDataToDB.PHP:

<?php 
if(isset($_POST['mainVideoData'])){ 
$temp = $_POST["mainVideoData"]; 
echo $temp; 
} 
?> 

Я надеюсь, что это поможет достичь вашего результата !!!

+0

1. Библиотека jquery определенно включена. 2. Хмм, как именно я это проверю? 3. Определяется mainVideoTitle. Я пробовал ваш код, и он по-прежнему не распознает mainVideoData – Max

+0

. Я сам его отлично работаю !, он вернул строку «привет» и предупредил «отправленные данные». – Sathish

+0

Он говорит только «данные, отправленные» для меня. По какой-то причине он не возвращает строку «hello». – Max

0

Попробуйте это, он будет работать. Данные будут захвачены в успех.

$.ajax({ 
    method: "POST", 
    url: "sendDataToDB.php", 
    data: { 
     mainVideoData: mainVideoTitle 
    }, 
    success: function(data) { 
     console.log(data); 
     alert("data sent"); 
    }, 
    error: function(data) { 
     alert("Data sending failed"); 
    } 
});