-1
我有很大的問題,因爲我無法在Symfony中發出AJAX請求。Symfony 2,ajax
我在模板
$(document).ready(function() {
$(".data").change(change_selected);
});
function change_selected(){
$.ajax({
type: "POST",
url: "{{path('validate')}}",
data: {'name' : 'kk'},
cache: "false",
dataType: "html",
success: function(response) {
alert('asd');
}
});
}
一些代碼,我與功能
/**
* @Route("/validate_form", name="validate")
* @Template()
*/
public function ajaxeAction()
{
if($request->isXmlHttpRequest()) {
$response = new Response();
$output = array('success' => true);
$response->headers->set('Content-Type', 'application/json');
$response->setContent(json_encode($output));
return $response;
}
}
當我運行螢火併更改輸入字段,然後放火返回錯誤「500內部服務器文本由控制器錯誤 - ... test/web/app_dev.php/validate_form「」
有人知道爲什麼嗎?
它的服務器端錯誤,什麼是$請求?你不需要定義參數。 – Mutant
1.查看您的服務器日誌/ Symfony WebDebugToolbar /實際服務器響應以查看錯誤詳細信息。 2.你應該使用'|來轉義由Twig的'path()'函數返回的輸出e(「js」)'修飾符。你也可以嘗試使用[FosJsRoutingBundle](https://github.com/FriendsOfSymfony/FOSJsRoutingBundle) - 非常方便的工具。 3. Symfony提供了一個內置的'JsonResponse'來處理JSON輸出。 – Crozin