javascript - jquery 将值发送到 PHP 网页

标签 javascript php jquery ajax

我制作了一个带有下拉菜单的网页。这个想法是,当我们单击下拉菜单的任何选项时,它会打开带有 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 将超链接的内容POSTproduccio.php。当该调用完成时,它将用户重定向到同一页面,但没有 POSTed 值。根据您的评论:

I want to open produccion.php after selection option in dropdown button. With this option I do a query

看来您确实想在浏览器中使用 POSTed 值打开 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/

相关文章:

jquery - 为什么我的 css 类从未执行过?

javascript - 如何将两个 jQuery 事件处理程序合并为一个?

javascript - 转换 yyyy-mm-dd hh :mm:ss format to time ago

Php,如何根据今天的天气选择阵列?

php - 在哪里可以找到 PHP 的错误日志文件?

php - 将变量值传输到另一个页面

javascript - 无法在 jQuery 表单验证插件中转义反斜杠和] 符号

javascript - 有人可以解释这个电子邮件正则表达式的含义吗

javascript - 返回链时无法设置 var i

javascript - [$sce :iequirks] Strict Contextual Escaping does not support Internet Explorer version < 9 in quirks mode