gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 11:14:31 24 4
gpt4 key购买 nike

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

在一个页面上,我有两个 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com