gpt4 book ai didi

php - 如何在 PHP Symfony 4 中获取 POST 全局变量?

转载 作者:可可西里 更新时间:2023-10-31 22:39:44 24 4
gpt4 key购买 nike

我在 Symfony 4 中获取 POST 全局变量的结果时遇到了一个非常奇怪的问题。

我这样试过:

$date = $request->request->get('date');

这就是我在日历输入的日期更改时实际发送 AJAX 请求的方式:

onSelect: function(date, instance) {
$.ajax({
url : 'home',
type : 'POST',
data : {'date':date},
dataType : 'html',
success : function(code_html, statut){
console.log(statut);
},

error : function(resultat, statut, erreur){

},

complete : function(resultat, statut){

}
});

onSelect 回调成功收到我想要的日期值。

此结果显示了 200 个成功代码以及日期变量的正确值:

profiler screenshot

但是 $datenull

最佳答案

您的代码中的 header 或类似内容没有问题,并且 jQuery 请求是正确的(我测试了您的代码)。

问题可能出在您的 PHP 代码上,而您的问题中没有。

如果您正确地注入(inject)了Request对象,您可以轻松地使用get()来检索post变量。

例如:

namespace App\Controller;

use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;

class VeryDefaultController extends AbstractController
{

/**
* @Route("/very/default", name="very_default")
* @param Request $request
*
* @return \Symfony\Component\HttpFoundation\Response
*/
public function index(Request $request)
{
$date = $request->get('date');
}
}

在您的示例中,您正在执行 $request->request->get('date') 这适用于 POSTPUT 请求,但它可能会失败,因为您没有正确注入(inject) Request 对象。

上面的代码使用您的 jQuery AJAX POST 请求进行了测试,并且有效。那部分本质上没有错。并且完全可以使用 get() 访问 POST 变量。

关于php - 如何在 PHP Symfony 4 中获取 POST 全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54889646/

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