Javascript 无响应Ajax请求symfony2
发出ajax POST请求,但没有返回任何内容: 这是我的ajax请求:Javascript 无响应Ajax请求symfony2,javascript,php,jquery,ajax,symfony,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).
$.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);
}
});
如何使用相应的函数调用此控制器:
class LikeController extends Controller {
public function addAction(Request $request)
{
return new JsonResponse('success');
}
}
但我什么也没得到,奇怪的是我得到了200好
路线定义如下:
app-like-add:
pattern: /add-like
defaults: { _controller: AppBundle:Like:add }
您的路径未被解释,请查看请求url,您有类似add的
应用程序,而不是等效url。为了避免此错误,您必须放置完整路径或安装一个bundle以使用完整url替换路径,如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')
您传递的URL不正确,请更改为常规URL
url: "/add-like"
您确定url{{path('app-like-add')}
正在填充吗?请尝试控制台日志记录,查看Chrome中的响应和预览选项卡,以查看您实际得到的响应正文。您的js代码似乎没有被twig处理。将标签中的代码放入小树枝页面。或者尝试使用fosjsroutingbundlefly,最后,我会像下面这样传递url data href=“{{path('app-comment-add')}}”,这样就可以了,但仍然无法从服务器获得任何响应