我正在寻找关于 symfony2 中 ajax 的简单教程/示例,适合初学者?
我有这些例子:
city.php:http ://pastebin.com/Qm8LS5kh
ajax_req.js:http ://pastebin.com/UqJMad24
index.html: http: //pastebin.com/H1err4Yh
如何将这些放入 Symfony2 应用程序中?
我正在寻找关于 symfony2 中 ajax 的简单教程/示例,适合初学者?
我有这些例子:
city.php:http ://pastebin.com/Qm8LS5kh
ajax_req.js:http ://pastebin.com/UqJMad24
index.html: http: //pastebin.com/H1err4Yh
如何将这些放入 Symfony2 应用程序中?
这很容易。我将通过 3 个步骤说明如何在 Symfony2 中进行 AJAX 调用。对于以下示例,假设使用 jQuery 库。
为必须处理 AJAX 调用的操作定义路由。例如
AcmeHomeBundle_ajax_update_mydata:
pattern: /update/data/from/ajax/call
defaults: { _controller: AcmeHomeBundle:MyAjax:updateData }
从bundle定义MyAjax
控制器中的动作。Home
例如
public function updateDataAction(){
$request = $this->container->get('request');
$data1 = $request->query->get('data1');
$data2 = $request->query->get('data2');
...
//handle data
...
//prepare the response, e.g.
$response = array("code" => 100, "success" => true);
//you can return result as JSON
return new Response(json_encode($response));
}
在您的模板中准备您的AJAX
电话,例如:Twig
function aButtonPressed(){
$.post('{{path('AcmeHomeBundle_ajax_update_mydata')}}',
{data1: 'mydata1', data2:'mydata2'},
function(response){
if(response.code == 100 && response.success){//dummy check
//do something
}
}, "json");
}
$(document).ready(function() {
$('button').on('click', function(){aButtonPressed();});
});
您可以通过使用其他 AJAX 调用来更改示例。