如何将 Jquery 变量值发送或分配给 php 变量? [复制]

Posted

技术标签:

【中文标题】如何将 Jquery 变量值发送或分配给 php 变量? [复制]【英文标题】:How to send or assign Jquery Variable value to php variable? [duplicate] 【发布时间】:2013-05-23 00:06:21 【问题描述】:

我想在用户单击时将 img src 获取到 php 变量,因此我使用 jquery 函数在用户单击该图像时获取 img src。下面的 jquery 用于获取 img src

$("img").click(function() 
    var ipath = $(this).attr('src');
)

现在我尝试了这样的方法来获取 php 变量的 ipath 值

$.ajax( type:'POST', url: 'sample.php',
 dataType: 'html', data: dataString,
 success: function(data)

  
);
);

我不确定是否正确使用 Ajax 任何人都可以帮助使用 Ajax 功能来完成这项工作吗? 谢谢。

【问题讨论】:

你在使用这个时遇到了什么错误? 没有错误..我不知道如何将此值获取到 sample.php 中的 php 变量 【参考方案1】:

你应该在点击 img 时进行 ajax 调用,例如:

$(function ()
   $("#myimg").click(function() 
      $.ajax(
        type: "POST",
        url: "some.php",
        data:  param: $(this).attr('src'); 
      ).done(function( msg ) 
             alert( "Data Saved: " + msg );
     );
  );

html代码

<img src="http://yourimage.jpg"  id="myimg" />

some.php中使用

 echo $_POST['param'];

要获得价值,如果您使用type:GET,则应使用$_GET 获得价值。

【讨论】:

我应该在这个脚本之前使用表单动作和方法吗? 您不必这样做,因为没有提交表单,只有单击操作 :) 我已经使用 html 代码进行了编辑。当您使用 #myimg 时,如果您在 $("img") 上使用它只会影响 id="myimg" 的项目,它会影响您点击的每张图片。 我正在单独使用 $(Img)。在我检查 sample.php 文件时单击它后显示错误错误抑制忽略通知:未定义索引:参数 因为您只是将其称为 some.php 而没有 GET 参数,如果您将其称为 some.php?param=asdfasdf,则不会有任何通知。如果您使用 $_POST 则不要打开 some.php 只需查看 js 中警告的消息。如果 javascript 中没有错误,您的 ajax 请求将没有问题。这些确实是基础。 $(Img) 也不正确,应该是 $('img') 感谢 Robert.its 说数据已保存,现在我如何访问 sample.php 中保存的数据【参考方案2】:

请试试这个。希望它会有所帮助。

$("img").click(function() 
   var imgSrc = $(this).attr('src');

    jQuery.ajax(
            type: 'post',                    
            url:'somepage.php',            
            data:"imgSrc" : imgSrc,
            dataType:'json',                
            success: function(rs)
            
                alert("success");
            
        );  
);

尝试在“somepage.php”上获取“imgSrc”作为“$_post[”imgSrc”]。

【讨论】:

【参考方案3】:

正如here 所写,你应该这样做:

$.ajax(
    type : 'POST',
    url : 'sample.php',
    dataType : 'HTML',
    data : 
        param : 'value'
    ,
    success : function(data) 
    
);
);

然后在 php 中,您的变量将位于 $_POST['param']

【讨论】:

成功回调函数正在工作,但在 sample.php 中我得到错误 注意:未定义索引:参数 使用firebug+firephp调试这个【参考方案4】:

这应该有帮助

$("img").click(function() 
    jQuery.post("some.php",param:$(this).attr('src'),function(data)
      console.log(data);
    ,'html');
);

在一些.php中

发送print_r($_POST); 以了解如何提取所需的信息/数据

【讨论】:

这显示数组() 你可能使用了 print 而不是 print_r 你应该在这些行周围收到一些东西。数组([参数] => api.jqueryui.com/jquery-wp-content/themes/jquery/images/…)【参考方案5】:

试试这样 -

$('document').ready(function()
    $("img").click(function() 
        var ipath = $(this).attr('src');

        var dataString = 'imagePath='+ipath;
        var sendRquest = $.ajax(
            type: 'POST',
            url: 'action.php',
            data: dataString
        );

        sendRquest.done(function(responseData) 
            // your code here
            alert(responseData);
        );

        sendRquest.fail(function(xmlhttprequest,textstatus,responseData) 
            // your code here
            alert('failed');
        );

        sendRquest.always(function()
            // your code here
            alert('done');  
        );

    );

    $("img").click(function() 
        var ipath = $(this).attr('src');
        $('#divid').load('action.php?imagePath='+ipath);

        //if trigger required
        $('#divid').load('action.php?imagePath='+ipath, function() 
          alert('Load was performed.');
        );
    );
);

在 action.php 中

<?php
   echo $_POST['imagePath'];
   // if you are using load function then
   echo $_GET['imagePath'];
?>

【讨论】:

警报与 、 等一起出现 先看看你发送的是什么。尝试警报(ipath);在发送到 ajax 之前 【参考方案6】:

Ajax 函数

<script type="text/javascript">
$(function ()
    $("#img").click(function() 
    var src = $(this).attr('src');
    //OR// var src = $("#img").attr('src');
          $.ajax(
            type: "GET",
            url: "myfile.php",
            data: imgsrc: src
          ).done(function(data) 
                 alert(data);
         );
      );
);
</script>

myfile.php

<?php
echo $_GET['imgsrc']; exit;
?>

【讨论】:

sample.php 中出现错误 注意:未定义索引:imgsrc 好像你没有正确改变ajax函数!我建议您复制和粘贴并请注意页面名称是 myfile.php 而不是 sample.php!试试这个,如果它仍然不起作用,让我知道我会尽力修复它! @raj 在网址中我只给了 sample.php,即使它在 sample.php 中显示错误 @raj 我刚刚复制了我的工作脚本,这绝对有效!起初我也收到相同的错误消息,后来我发现我的错误是在 POST 中获取 imgsrc 而不是在 php 文件中获取 GET!请检查您的方法类型(GET/POST)和网址。 :) 当我点击图片而不是在 sample.php 文件中时得到 imgsrc【参考方案7】:
$("img").click(function() 
    var ipath = $(this).attr('src');
    $.ajax( type:'POST', url: 'sample.php',
        dataType: 'HTML',
        data : 
            path: ipath 
        ,
        success: function(data)
        

         
    );//end of ajax

)//end of click

您可以在 php 脚本中以 $_POST['path'] 的形式获取此值

【讨论】:

以上是关于如何将 Jquery 变量值发送或分配给 php 变量? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

将循环中的变量值传递给jquery函数

将变量值分配给模板中的表单域

如何在 jquery 选择器中传递 php 变量值?

尝试将变量值分配给结构元素。起初变量有正确的值,但结构元素有垃圾值

在 JQuery 中调用/获取 php 变量值

将变量值从 JS 传递给 PHP