我制作了一个带有下拉菜单的网页。这个想法是,当我们单击下拉菜单的任何选项时,它会打开带有 POST 参数“edicion”的 produccion.php。我用这个参数在数据库中进行查询。
目前的问题是它打开了 produccion.php,但我认为这并没有 POST 变量的值
Jquery 代码:
$('#drEdicion a').click(function(event){
alert($(this).text());
var ed = $(this).text();
$.ajax({
url:"produccio.php",
type:"POST",
data:{edicion: ed},
dataType:"text",
success:function(data){
window.location.href = 'produccio.php'
}
});
});
问题是否可能出在通过ajax发送时?
提前致谢。
最佳答案
您的代码当前正在通过 AJAX 将超链接的内容POST
到 produccio.php
。当该调用完成时,它将用户重定向到同一页面,但没有 POST
ed 值。根据您的评论:
I want to open produccion.php after selection option in dropdown button. With this option I do a query
看来您确实想在浏览器中使用 POST
ed 值打开 produccio.php
。
到目前为止,该问题最简单的解决方案是更改 PHP 代码以接受来自 $_GET["edicion"]
的 edicion
值,然后输出您的超链接为:
<a href="produccio.php?edicion=...">...</a>
这也将为用户提供更好的体验,特别是当他们遇到 JavaScript 问题(或者,例如,碰巧是搜索引擎)时。但是,如果您设置为仅使用 $_POST
,则以下代码可能 - 我自己没有测试过 - 允许这样做:
$('#drEdicion a').click(function(event){
event.preventDefault();
var ed = $(this).text();
$('<form action="produccio.php" method="POST">' +
'<input type="hidden" name="edicion" value="' + ed + '" />' +
'</form>').appendTo('body').submit();
});
(归功于 Dynamically create and submit form 上的最佳答案)
关于javascript - jquery 将值发送到 PHP 网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40235408/