如何使用ajax以便将变量值传递给php脚本?

时间:2019-01-10 15:34:57

标签: javascript php ajax

我正在尝试使用ajax并将变量从js传递到php,以便将其插入到mysql表中。 下面的代码成功调用了php脚本,但未传递数据

我想将以下js函数中的“ num”传递给“ insertRow.php”-该函数确实会激活“ insertRow.php”,但不会传递数据

function InsertToTable(num){
    var data=num;
    $.ajax({
        url: "insertRow.php",
        data: data,
        type: "POST"
        });

一旦传递数据,我想将其插入到mysql表中,如果我不使用“ $ num”,而只是放一个值代替,则下面的方法会起作用

<?php
$num = $_Post['data'];
//print_r($_Post("data"));

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "Schedule";   

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql ="INSERT INTO `temp1` (`coloumn1`) VALUES ('$num')";

$conn->query($sql);     
?>

2 个答案:

答案 0 :(得分:3)

您可以执行此操作...

data: {data : num},

或者,因为您设置了data = num;,所以您可以这样做:

data: {data: data},

第一个data是标识符,第二个是值。

这将使您可以访问POST(区分大小写)变量中的数据:

$_POST['data'] // should be equal to num

答案 1 :(得分:0)

看起来像错字,

black

尝试

ul > li { color: red; }
ul > li li { color: black; }

此外,向AJAX发送退货也是一种好习惯,因此最终您可以使用

$num = $_Post['data'];

或在发生错误的情况下将其设置为false,这样您就可以在AJAX的成功子句中查看查询是否有效。

这是更复杂的AJAX调用的示例。

$num = $_POST['data'];