javascript - 在 javascript 代码中添加一两个 PHP 变量

标签 javascript php jquery html

我是一个不错的 PHP 程序员,但最近我陷入了 javascript 代码中。

我有以下代码:

$(function () {

    $('.more').live("click", function () {
        var ID = $(this).attr("id");

        if (ID) {
            $("#more" + ID).html('<img src="moreajax.gif" />');
            $.ajax({
                type: "POST",
                url: "scripts/loadmore.php",
                data: "lastmsg=" + ID,
                cache: false,
                success: function (html) {
                    $("div#updates").append(html);
                    $("#more" + ID).remove();
                }
            });
        } else {
            $(".morebox").html('The End');

        }

        return false;
    });
});

此代码使用此输入将一个 PHP 变量毫无问题地提交到进程页面 loadmore.php

<div id="more<?= $load_id ?>" class="morebox" style="margin-bottom: 200px;">
    <a href="#" class="more" id="<?php echo $load_id; ?>">
        load more
    </a>
</div>

如何在输入和 javascript 代码中放置更多变量以在流程页面上使用它们?

我想再设置一两个变量。

更新:

我像这样更新了代码:

HTML 输入:

<div id="more<?= $load_id ?>" class="morebox" style="margin-bottom: 200px;">
<a href="#" class="more" data-id="<?php echo $load_id; ?>" data-act="<?php echo $act; ?>">load more</a></div>

JavaScript 代码:

<script type="text/javascript">
$(function() {

$('.more').live("click",function() 
{
var ID     = $(this).attr("data-id");
var ACT = $(this).attr("data-act");

if(ID)
{
$("#more"+ID).html('<img src="moreajax.gif" />');
$.ajax({
type: "POST",
url: "scripts/loadmore.php",
data: {"lastmsg="+ ID, "act="+ ACT},
cache: false,
success: function(html){
$("div#updates").append(html);
$("#more"+ID).remove();
}
});
}
else{
$(".morebox").html('The End');
}

return false;

});
});

</script>

我不确定数据行是否写入正确,因为脚本现在看起来像被卡住了

已解决:

我只是用了这样的数据串

<script type="text/javascript">
$(function() {

$('.more').live("click",function() 
{
var ID     = $(this).attr("data-id");
var ACT = $(this).attr("data-act");
var dataString = 'lastmsg='+ ID + '&act=' + ACT;

if(ID)
{
$("#more"+ID).html('<img src="moreajax.gif" />');
$.ajax({
type: "POST",
url: "scripts/loadmore.php",
data: dataString,
//data: {"lastmsg="+ ID, "act="+ ACT },
cache: false,
success: function(html){
$("div#updates").append(html);
$("#more"+ID).remove();
}
});
}
else{
$(".morebox").html('The End');
}

return false;

});
});

</script>

最佳答案

只需将数据作为对象发送:

data: {
  "lastmsg": "lastmsg="+ ID,
  "anotherData": "someData"
}

您将在您的 PHP 脚本中检索它们,如下所示:

$_POST["lastmsg"];
$_POST["anotherData"];

关于javascript - 在 javascript 代码中添加一两个 PHP 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30853804/

相关文章:

javascript - 在网站上提前加载数据?

javascript - jquery从中心到最左或最右进行动画(基于文档宽度在屏幕外)

javascript - 使用 grunt-contrib-uglify 丑化 javascript 代码

php - __toString 问题

php - 适用于 PHP 的 Azure Cloudstorage - 调用函数 createBlobService() 时出错

javascript - jQuery 在一定时间后删除 Bootstrap 警报

javascript - jQuery 对话框同时显示

javascript - 使用 AJAX 将数据从 JavaScript 发送到本地 Python 函数

javascript - 在 JSON 中 POST js::array,得到 "undefined:undefined"

php - MySQL正则表达式来计算用户名(字符串)中有多少位数字?