我正在尝试使用Ajax
从数据库重新加载数据。但是,Ajax
不会调用我在url:
中指定的控制器操作。这是我的Ajax
代码:
function selectFieldChanged(id){
$.ajax({
type: "POST",
url: Routing.generate('demo_ajax'),
data: id,
success: function(){
alert("Success");
},
error: function(XMLHttpRequest, textStatus, errorThrown)
{
alert('Error : ' + errorThrown);
}
});
}
$(document).ready(function(){
var id = $(this).val();
$('#form_patient').change(function(){selectFieldChanged(id)});
});
routing.xml
:
demo_ajax:
pattern: /ajax/patient
defaults: { _controller: DemoBundle:Default:index}
options:
expose: true
所以,我试着简单地回显indexAction
中的值,看它是否被调用。
public function indexAction(Request $request)
{
if($request->isXmlHttpRequest()){
echo "xmlHttpRequest is called";
}
if($request->getMethod()=='POST'){
echo 'POST is called';
}
}
但是,我没有收到indexAction
的任何内容,但我从`Success
收到了警告消息Ajax
我做错了什么?
答案 0 :(得分:2)
成功回调从服务器接收数据,因此必须声明一个变量来捕获它:
success: function(data){ // <-----
console.log(data);
alert("Success");
},