Javascript 尝试使用ajax将js变量传递给php

Javascript 尝试使用ajax将js变量传递给php,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,正如标题所说,我正试图将几个js变量传递给php文件。这是到目前为止我的代码 JS: sendDataToDB.PHP: <?php $temp = $_POST["mainVideoData"]; echo $temp; ?> 这是我的整个js文件: $(document).ready ( function(){ var mainVideoTitle = "Hello"; $.ajax({ method: "POST", url:

正如标题所说,我正试图将几个js变量传递给php文件。这是到目前为止我的代码

JS:

sendDataToDB.PHP:

<?php
$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(类别) 值(Wiz Khalifa-再见,[官方视频]愤怒7原声带]
您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解第2行“Khalifa-再见”附近使用的正确语法

正如你所看到的,它确实给了我正确的值,它也把正确的值放在了值中。但出于某种原因,它仍然给我这个错误。有什么原因吗

  • jQuery库肯定包括在内
  • 检查
    php文件的路径是否有效
  • 检查
    mainVideoTitle
    是否已定义
  • 试试这个

    脚本:

     $(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");
            }
        });
    
    <?php
    if(isset($_POST['mainVideoData'])){
    $temp = $_POST["mainVideoData"];
    echo $temp;
    }
    ?>
    
    }))

    sendDataToDB.PHP:

     $(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");
            }
        });
    
    <?php
    if(isset($_POST['mainVideoData'])){
    $temp = $_POST["mainVideoData"];
    echo $temp;
    }
    ?>
    
    
    

    我希望这有助于实现你的目标

    试试这个,它会起作用的。成功捕获数据

    $.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");
        }
    });
    

    请尝试
    data:{mainVideoData:“mainVideoTitle”}
    您在哪里定义
    mainVideoTitle
    ?mainVideoTitle是我之前创建的一个变量。是否包含jQuery?是的,我包含了jquery1。jquery库肯定包括在内。2.嗯,我该怎么检查呢?3.定义了mainVideoTitle。我已经试过你的代码了,但它仍然无法识别我自己的mainVideoData它工作得很好!,它返回字符串“hello”并发出“data sent”警报。它只为我显示“data sent”。由于某种原因,它不会返回字符串“hello”。是否要将字符串“hello”作为成功数据发出警报?请使用此,
    success:function(data){alert(data);},