javascript - 无法从 Javascript 获取发布数据到 PHP

标签 javascript php jquery ajax symfony

这是我的第一篇文章,我被困在这个问题上,请帮忙。

在一个页面上,我有两个 symfony 表单(没有类),我从中获取一些存储在数组中的数据。第一个表格用于契约(Contract),另一个表格用于用产品数据(价格、数量等)填充产品数据表。在这些表单中的每一个上,我都有一个提交按钮,我使用 ajax (onclick) 管理该按钮,以便在阻止数据处理的同时前进到 pagen。列出产品的数据表是页面的结束步骤,在它下面有一个验证按钮,我想用它来提交第一种形式的所有数据和我提交的数据表(其中是第二种形式的数据)以前存储在数组中。

我知道有两种方法可以做到这一点($.post 使用 jQuery,另一种使用 ajax,但两者都不起作用)。我设法重定向到另一个页面,但我无法获取 $_POST(或 $request)数据。

这是“最终按钮”ajax 部分(我在评论中尝试过的另一种方式):

$("#btn_final").click(function( e ) {

    // console.log(produits);

    // $.post(
    //     path_confirm, 
    //     { produits: produits },
    //     function() {
    //         window.location.replace(path_confirm);
    //     }
    // );


    $.ajax({
        url: path_confirm,
        type: 'POST',
        // dataType: 'html',
        data: { 'produits' : produits, 'contrat' : contrat },
        // context: this,
        // dataType: "json",
        success:function(data) {
            window.location.replace(path_confirm);
            // console.log(data);
        },
        error:function(data) {
            alert("erreur");
        }
    });

这是我的基本 Controller ,据称是在获取数据:

public function getData(Request $request) {

    // $produits = $request->request->get('produits');
    // $contrat = $request->request->get('contrat');

    if ($_POST) {
       var_dump($_POST);die;
    } else {
        echo "<h1> no data :/ </h1>";die;
    }

我被重定向到该页面,但答案是“无数据”。 预先感谢您的帮助。

最佳答案

由于重定向导致POST数据丢失,AJAX请求期望通过AJAX返回信息。添加阻止默认值以停止重定向:

$("#btn_final").click(function( e ) {
    e.preventDefault();

然后在开发者工具上观察AJAX请求。如果 $('#btn_final') 是一个提交按钮,您将需要使用 .submit() 处理程序。

如果您打算重定向到处理数据的 PHP 脚本,则完全不需要 jQuery 或 AJAX。

关于javascript - 无法从 Javascript 获取发布数据到 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52184871/

相关文章:

javascript - 如何获得字形图标的悬停效果?

javascript - 尝试使用 Jquery 更改 HTML

javascript - 如何引用与 HTML 和 jQuery 一起使用的 XML 文件/数据?

PHP 错误处理

php - Colorbox 内容平滑淡出

jquery - 手机上传选择相机

javascript - 如何在鼠标悬停时显示 jQuery bootstrap-datetimepicker

javascript - 使用 jquery 选择选项失败?

javascript - 如何使用 jquery $(this) 提供 js 函数

php - 仅 Twitter 应用程序身份验证 PHP OAuth 错误