javascript - 无响应 Ajax 请求 symfony2

标签 javascript php jquery ajax symfony

发出 ajax POST 请求,没有任何返回:

这是我的 ajax 请求:

$.ajax({
        method: 'POST',
        url: "{{ path('app-like-add') }}",
        data: { imageId: id },
        success: function(response) {
            if (response == 'success') {
                $('#'+ id).removeClass('like');
                $('#'+ id).addClass("like-success");
            } else {
                alert('no :(');
            }
        },
        error: function(response){
            alert('fail');
            console.log(response);
        }
    });

如何用相应的函数调用这个 Controller :

class LikeController extends Controller {

  public function addAction(Request $request)
  {
    return new JsonResponse('success');
  }
}

但我什么也没得到,奇怪的是我得到了 200 OK。

Ajax Reponse

路由定义如下:

app-like-add:
pattern:               /add-like
defaults:              { _controller: AppBundle:Like:add }

最佳答案

您的路径未被解释,请查看请求 url,您有 app-like-add,而不是等效的 url。为避免此错误,您必须输入完整路径或安装一个包以用完整的 url 替换路径,如 FosJsRoutingBundle :

https://github.com/FriendsOfSymfony/FOSJsRoutingBundle

此包允许您在 JavaScript 代码中公开路由。这意味着您将能够使用给定的参数生成 URL,就像您可以使用 Symfony2 核心中提供的 Router 组件一样。

在你的 yaml 中:

app-like-add:
    pattern:               /add-like
    defaults:              { _controller: AppBundle:Like:add }
    options:
        expose: true

在JS代码中:

Routing.generate('app-like-add')

关于javascript - 无响应 Ajax 请求 symfony2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32158699/

相关文章:

javascript - 按用户 ID 和日期范围查询 Firestore?

javascript - 表排序器中的链式一列和多列过滤器

javascript - 在输入 jquery 中删除值时清除所有更改

php - SQLSTATE[HY000] [1045] 用户 'root' @'114.xxx.xxx.xxx' 的访问被拒绝(使用密码 : YES)

javascript - 水平滚动,粘性 div 保持在左边框

javascript - 如何检索 OpenAI 图像并将其保存到 S3 存储桶

php - 在递归数组中找到正确的值

javascript - PHP 获取文本区域的文件内容

javascript - window.jQuery 还是 jQuery?

javascript - Rails 操作以状态 200 运行,但未访问模板且未触发 jQuery