将变量传递到php文件并执行后,请保持在同一页面位置

stay on same page location after passing variables to a php file and executing

本文关键字:位置 一页 变量 php 执行 文件      更新时间:2023-09-26

我发现了很多例子,但我不知道如何将其应用到我的代码中。我正在添加一个愿望列表按钮,希望用户点击它,收到它已添加到其成员页面的警报,并继续滚动内容。我知道我需要使用ajax将变量从url发送到javascript,然后用ajax发送到php。但我一直在把这些变量传递给ajax。。。可能是因为我还在学习。在php中使用GET很容易获得多个变量,但我不知道如何在javascript中做到这一点。当然,我不希望页面重新加载。这就是我要通过的:

<div><a href='wish_list.php?title=".urlencode($title)."&link=".urlencode($link)."' 
onClick='wish(this.href); return false;'>Add to Wish List</a></div>

如何在javascript中设置这些变量?我使用的Ajax是:

$(function (){
set variables from url
$.ajax({
type: "POST",
url: "wish_list.php",
data: "$link and $title" //Need help with this here
success: function()...
});
});

我需要链接变量保持编码,因为它是一个链接。那么,我如何从url中提取标题和链接,并将其传递到php文件中呢?

js无法访问php变量。您可以将这些值存储在一个隐藏的html输入字段中,然后使用jquery获取它。

link = $(#IdHiddenField).val();

然后在ajax函数中:

data: { link: link}

您至少需要javascript和jquery的基础知识来处理ajax函数。您在数据属性中传递的参数witch是一个javascript对象。它看起来是这样的:

data: {"link":"value of link",  "title":"value of title", "numbers_too":1},

您必须将上面这些属性的值替换为服务器端的值。

您可以使用数据属性将这些数据放入标签中:

<div<a class="sender" data-link="<?= $link; ?>" data-title="<?= $title; ?> href="wish_list.php" ... etc.

然后:

$(".data").click(function(e){ 
  type: "POST",
  url: $(e).attr("href"),
  data: $(e).data()
 });

您可以添加ajax函数,直接使用链接中的"href"。

function wish(link){
$.ajax({
type: "POST",
url: link,
data: '',
success: function()...
});
}

使用您的链接:

<div><a href='wish_list.php?title=".urlencode($title)."&link=".urlencode($link)."' 
onClick='wish(this.href); return false;'>Add to Wish List</a></div>

然后,使用$_get从url获取数据。

<div><a onClick=wish(urlencode($title),urlencode($link));>Add to Wish List</a></div>
function wish(title,link) {
    $.post("wish_list.php", { title: title, link: link }).done(function() {
        alert("Added to your member page");
    });
}