2014-02-25 142 views
0

我試圖做這樣的在TR上點擊一個Ajax調用:的Silex:jQuery的AJAX請求拋出異常 - 未找到路線「GET ......」

$.ajax({ 
    type: "GET", 
    url: "/segments/ajaxGetHostsSegment", 
    data: { 
     deelgebied: deelgebiedid 
    }, 
    success: function(data) { 
     // CHECK ID'S WITH ID'S IN FORM AND CHECK CHECKBOXES 
    }, 
    error: function (xhr, ajaxOptions, thrownError) { 
     console.log(xhr.status); 
     console.log(thrownError); 
    } 
}) 

在我的路線文件我有:

$app->get('/segments/ajaxgethostssegment', 'Segments\Controller\IndexController::ajaxGetHostsSegment')->bind('segments.gethosts'); 

我的控制器動作:

public function ajaxGetHostsSegment(Application $app, Request $request) 
{ 
    $deelgebied = $request->request->get('data'); 
    var_dump($deelgebied); 
    die(); 
} 

但我總是得到錯誤:

No route found for "GET /segments/ajaxGetHostsSegment" (from "http://mext-pst.localhost:8080/segments/view/PSS1400023") 
+0

爲什麼你只是刪除了'$ APP->後()'部分...並添加'類型:「GET 「」對你的問題?現在我的答案不再適用了。這非常令人失望......停止進行這種編輯或者沒有人會幫你了。你應該已經開了一個新的問題。你現在有一個完全不同的問題。 – nifr

+0

我需要從數據庫中獲取數據,我不需要將某些內容發佈到數據庫。 – nielsv

+1

是的,但最初的問題是你創建了一個GET請求,並且只定義了POST路由......現在完全不同了。對不起,我沒有時間。下次打開一個新問題,不要編輯原始代碼(可能會附加一個新版本),除非在粘貼時出錯。 – nifr

回答

1

錯誤的HTTP請求方法:

你發送GET請求代替POST請求使用jQuery。

$.ajax()執行GET默認請求。

Silex的拋出,因爲你GET但僅限於POST尚未定義的路由除外。

$app->post('..') 

解決方案:添加請求類型$.ajax

$.ajax({ 
    type: "POST", 
    // ... 
}); 
+0

我已經更新了我的開始帖子,仍然出現錯誤。 – nielsv