我在我的一個表單中設置了一個簡單的Ajax調用。當用戶在字段中輸入字符,下面的Ajax調用被激活:Symfony 3 Ajax呼叫路由問題
self.modify = function (input_field) {
if ($(input_field).val().length > 5) {
$.post("{{path('get_bio_control_sample')}}", {sample_number: $(input_field).val()},
function (response) {
if (response.code == 100 && response.success) {
alert(response.sample_number);
}
}, "json");
}
};
這意味着訪問下面的控制器操作:
class BioControlController extends Controller {
/**
* @Route("/bio_control/sample", name="get_bio_control_sample")
*/
public function getBioControlSampleAction(Request $request){
$sample_number = $request->query->get('sample_number');
$response = array("code" => 100, "success" => true, "sample_number" => $sample_number, "sample_data" => "test");
return new JsonResponse($response);
}
}
然而,當通話被激活JS返回錯誤:
http://127.0.0.1:8000/omics_experiment/%7B%7Bpath('get_bio_control_sample')%7D%7D 404 (Not Found)
我訪問來自omics_experiment/new
(這是在OmicsExperimentController
)Ajax調用和使用路線/bio_control/sample
(如由註釋顯示),但它不起作用。有人能解釋我做錯了什麼嗎?
我用this問題作爲模板,我使用Symfony 3的事實可能意味着有句法錯誤。
謝謝,這工作完美! – Darkstarone
太棒了!很高興我能幫上忙! – garek007