我试图将PHP变量$last_id回显到AJAX,以将其传递到PHP $_POST。可能是我可以一起跳过AJAX,而只是在$_POST内部传递变量。我必须使用echo json_encode吗?

这是我的代码,以查看我要在此处完成的工作(感谢任何帮助):

registration.php

<?php
if(isset($_POST['submit'])) {
require 'connect.php';

$sql = "INSERT INTO table (username, password) VALUES ('".$_POST["username"]."','".$_POST["password"]."')";

if (mysqli_query($con, $sql)) {
$last_id = mysqli_insert_id($con);
    echo $last_id;
?>


myScript.js

// ----AJAX Post to PHP----->
function ajax_post(ele,div){
// XMLHttpRequest object
var hr = new XMLHttpRequest();

// variables send to PHP file
var url = "insert.php";
var userId = "<?php echo $last_id; ?>";
var vars = "userId="+userId;
hr.open("POST", url, true);
hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
hr.onreadystatechange = function() {
    if(hr.readyState == 4 && hr.status == 200) {
        var return_data = hr.responseText;
        document.getElementById("status").innerHTML = return_data;
        }
    }
}


insert.php

<?php
require 'connect.php';

$userId = $_POST['userId'];

$sql = "INSERT INTO table2 (userId)
VALUES ('$userId')";
?>

最佳答案

嗨,这是将php变量传递到外部js文件中的方法,

<?php
$last_id= "Red";
?>
<script type="text/javascript">var color = "<?= $last_id?>";</script>
<script type="text/javascript" src="myscript.js"></script>


尝试让我知道

10-05 21:01
查看更多