【发布时间】:2015-07-02 11:13:57
【问题描述】:
正如标题所说,我正在尝试将几个 js 变量传递给 php 文件。到目前为止,这是我的代码。
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 这基本上意味着它不存在。
有谁知道我做错了什么? 谢谢!
编辑:
我已经阅读了一些建议,并决定使用某人提供给我的、对他有用的代码来制作一个全新的文件。这是我的整个 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");
}
});
});
它只给我一个警告说“数据已发送”,但它不会回显“你好”。 有谁知道怎么回事?
编辑 2:
所以我在我的 php 文件中添加了一些代码,应该将我的 $temp 放入数据库中。可悲的是,这不起作用。当我将 $temp 替换为像 'hello' 这样的正常值时,它会将它放在我的数据库中。当我使用 $temp 时,它给了我这个错误:
错误:插入到 youtubevideos(类别)
VALUES(Wiz Khalifa - See You Again ft. Charlie Puth [官方视频] Furious 7 原声带)
您的 SQL 语法有误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的“Khalifa - See You Again ft. Charlie Puth [官方视频] Furious 7 Soundtrack)”附近使用正确的语法
如您所见,它确实给了我正确的价值,而且它也将正确的价值放在了 VALUES 中。但由于某种原因,它仍然给我这个错误。有什么原因吗?
【问题讨论】:
-
试试
data:{mainVideoData: "mainVideoTitle"} -
你在哪里定义
mainVideoTitle? -
mainVideoTitle 是我之前做的一个变量
-
你是否包含了 jQuery?
-
是的,我确实包含了 jquery
标签: javascript php jquery ajax