将变量传递给PHP脚本而不提交

时间:2012-05-19 11:10:12

标签: php jquery ajax

我想知道是否有人可以帮助我。

我正在使用下面的代码捕获图像删除中的“onlick”事件。选择后,我的'delete.php脚本被调用,物理图像将从服务器中删除。

<script type="text/javascript"> 
        Galleria.ready(function() {
            this.$('thumblink').click();

        $(".galleria-image").append( 
        "<span class='btn-delete ui-icon ui-icon-trash'></span>"); 
        $(".btn-delete").live("click", function(){
        var img = $(this).closest(".galleria-image").find("img"); 

        // send the AJAX request
        $.ajax({
        url : 'delete.php',
        type : 'post',
        data : { image : img.attr('src') },
        success : function(){
        alert('Deleting image... ');
        img.parent().fadeOut('slow');
        }
        });

我遇到的问题是因为'click'事件没有发布表单,我无法捕获'userid'和'locationid'变量以将它们传递给接收脚本,即'delete。 PHP。

我知道这是问题,因为如果我使用:

<?php session_start(); 

$_SESSION['userid']=$_POST['userid'];
$_SESSION['locationid']=$_POST['locationid'];

我的'delete.php'脚本的其余部分不起作用。但是,如果我使用:

<?php session_start(); 


$_SESSION['userid']=2;
$_SESSION['locationid']=1;

我的其余部分工作正常。

我对PHP比较陌生,我不确定是否有解决方案。

但我只是想知道是否有人可以看一下这个问题,并就如何克服这个问题提供一些指导?

非常感谢和问候

2 个答案:

答案 0 :(得分:0)

您只需要传递ajax调用的数据对象中的值:

var sessionUserid = <?= $_SESSION['userid']; ?>;
var sessionLocationid = <?= $_SESSION['locationid']; ?>;
data : { image : img.attr('src'), userid: sessionUserid, locationid: sessionLocationid },

答案 1 :(得分:0)

经过一些进一步的实验,我找到了解决问题的方法。

我将此行data : { image : img.attr('src'),更改为 data : { image : img.attr('src'), userid: "VALUE", locationid: "VALUE"},它运作正常。亲切的问候