gpt4 book ai didi

symfony - 从 ajax symfony2 调用 Controller 的自定义函数

转载 作者:行者123 更新时间:2023-12-02 00:03:02 25 4
gpt4 key购买 nike

我使用 Sonata Admin Bundle 创建了表单。然后我创建了自己的 Controller (TestController) 并覆盖了 CRUD Controller ,

我在 TestController 中添加了一个新函数,

namespace IFI2\MainProjectBundle\Controller;

use Symfony\Component\Security\Core\SecurityContextInterface;
use Symfony\Bridge\Monolog\Logger;
use Sonata\AdminBundle\Controller\CRUDController as Controller;


//use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;

class TestController extends Controller
{

public function getProductPricesAction() {

file_put_contents("/Applications/XAMPP/htdocs/IFI2 CMS/Logs.txt","HELO",FILE_APPEND);

return new Response(json_encode($response));

}
}

然后我尝试通过我的 javascript 代码访问这个函数,

<script type="text/javascript">

function test1() {

$.ajax({
type:"POST",
//dataType: "json",
url: '{{ path('main_project.admin.test')}}',
success: function(successMsg) {
alert("successMsg");

},
error: function(errorMsg) {
alert("errorMsg");

}
});
}

</script>

这是我的 routing.yml,

main_project.admin.test:
pattern: /getProductPrices/
defaults: { _controller: IFI2MainProjectBundle:Test:getProductPrices}

我已经有了这个实体的 services.yml 条目,

main_project.admin.cobrand:
class: MainProjectBundle\Admin\TestAdmin
arguments: [~, MainProjectBundle\Entity\Test, "MainProjectBundle:Test"]
tags:
- {name: sonata.admin, manager_type: orm, group: admin, label: Test}
calls:
- [setTemplate, [edit, MainProjectBundle:Test:edit.html.twig]]

我在回复中收到以下错误,

Controller MainProjectBundle\Controller\TestController和当前路由main_project.admin.test没有定义_sonata_admin

请帮助我如何嵌入它?

谢谢,费萨尔·纳西尔

最佳答案

在您的 Admin 方法 configureRoutes 中添加新路由

protected function configureRoutes(RouteCollection $collection)
{
parent::configureRoutes($collection);
$collection->add('get_product_prices');
}

删除你的路由 main_project.admin.test

新路由以您的管理员提供的 $baseRouteName 作为前缀并具有名称:

base_route_name_get_product_prices

使用

{{ path('base_route_name_get_product_prices') }}
//or with admin
{{ admin.generateUrl('get_product_prices') }}

关于symfony - 从 ajax symfony2 调用 Controller 的自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20167322/

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