Javascript 在OctoberCMS中生成AJAX端点的正确方法

Javascript 在OctoberCMS中生成AJAX端点的正确方法,javascript,jquery,ajax,octobercms,Javascript,Jquery,Ajax,Octobercms,我在OctoberCMS中使用了默认的AJAX框架,但现在我试图通过创建一个地图来使用一些更为定制的东西,该地图在平移时向我的服务器查询更多标记。为此,我需要定义一个端点,例如 /markers 我知道我可以创建一个页面来实现这一点,但这看起来很混乱,因为OctoberCMS的默认设置是使用格式函数 onPan() 我当前的javascript函数是: var markerStore = {}; function getMarkers() { $.get('/markers',

我在OctoberCMS中使用了默认的AJAX框架,但现在我试图通过创建一个地图来使用一些更为定制的东西,该地图在平移时向我的服务器查询更多标记。为此,我需要定义一个端点,例如

/markers
我知道我可以创建一个页面来实现这一点,但这看起来很混乱,因为OctoberCMS的默认设置是使用格式函数

onPan()
我当前的javascript函数是:

var markerStore = {};

function getMarkers() {

    $.get('/markers', {}, function(res,resp) {
        for(var i=0, len=res.length; i<len; i++) {

            //Do we have this marker already?
            if(markerStore.hasOwnProperty(res[i].id)) {
                markerStore[res[i].id].setPosition(new google.maps.LatLng(res[i].position.lat,res[i].position.long));
            } else {
                var marker = new google.maps.Marker({
                    position: new google.maps.LatLng(res[i].position.lat,res[i].position.long),
                    title:res[i].name,
                    map:map
                }); 
                markerStore[res[i].id] = marker;
            }
        }
        window.setTimeout(getMarkers,INTERVAL);
    }, "json");
}

有没有什么方法可以让我在OctoberCMS中使用默认的AJAX框架?如果没有,创建此页面的合适方法是什么?

OctoberCMS有自己的AJAX库,要使用此库,您需要在controller中创建方法,正如您在onPan中所说的那样

但您可以做的是在插件的根目录中创建routes.php,即如果插件名为blog,那么在blog文件夹中创建routes.php文件,并使用与其他路由相同的laravel路由

Route::get('markers',function(){
    // Use database of any computation to return markers 

});

现在您可以访问www.example.com/markers,并使用jQuery-AJAX方法将其用作本机AJAX调用

您可以使用AjaxFramework js api:

$.request('componentName::onGetMarkers', {
    success: function(data) {
        console.log(data);
    },
});