如何将 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'];
?>
【讨论】:
警报与 、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 变量? [复制]的主要内容,如果未能解决你的问题,请参考以下文章