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

时间:2013-02-06 14:34:09

标签: php javascript jquery ajax

我找到了很多例子,但我无法弄清楚如何将它应用到我的代码中。我正在添加一个愿望清单按钮,并希望用户点击它,获得一个警报,它已添加到他们的成员页面并继续滚动内容。我知道我需要使用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文件?

5 个答案:

答案 0 :(得分:0)

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

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

然后在ajax函数中:

data: { link: link}

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

您可以使用数据属性将此数据放入标记中:

<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()
 });

答案 3 :(得分:0)

您可以添加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获取数据。

答案 4 :(得分:0)

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