javascript - 从 Javascript|jQuery 和 Symfony2 项目中的 URL 获取值

标签 javascript php jquery symfony symfony-routing

我需要使用 Javascript/jQuery 从 URL 获取一些参数,我发现了这个不错的函数:

function getURLParameter(sParam) {
    var sPageURL = window.location.search.substring(1),
        sURLVariables = sPageURL.split('&');

    for (var i = 0; i < sURLVariables.length; i++) {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == sParam) {
            return sParameterName[1];
        }
    }
};

所以我开始在我的代码中使用,但我遇到了一些问题,因为我正在寻找的参数是未定义。首先,这是一个 Symfony2 项目,因此 Profiler 为我提供了以下信息:

Request Attributes

Key                             Value
_route_params                   [registro => 1, solicitud => 58]
...
registro                        1
solicitud                       58

我在这里需要的是registrosolicitud。所以我在 Javascript 方面所做的是:

console.log(getURLParameter('registro')); // gets undefined

但令人惊讶的是,我得到了未定义,我认为原因是registro不存在于http://project.dev/app_dev的URL中。 php/proceso/1/58/modificar 但它存在于请求中。如何从 JavaScript 中获取 registrosolicitud 值?我需要将这些参数发送到 Ajax 调用,有什么建议吗?

最佳答案

尝试使用此功能:

function getParameters(){
    var url = window.location.href; //get the current url
    var urlSegment = url.substr(url.indexOf('proceso/')); //copy the last part
    var params = urlSegment.split('/'); //get an array
    return {registro: params[1], solicitud: params[2]}; //return an object with registro and solicitud
}

然后您可以调用该函数并使用这些值:

var params = getParameters();
console.log(params.registro);
console.log(params.solicitud);

关于javascript - 从 Javascript|jQuery 和 Symfony2 项目中的 URL 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28481154/

相关文章:

javascript - 检查事件是否由人为触发

javascript - 如何在 Firefox Add-on SDK 中访问 div?

php - 这是在两种不同类型的数组之间进行转换的最佳方法吗?

php - 检查字符串是否与模式匹配

php - 如何使用 mysql 查询仅订购价格与促销价格之间价格比最大的产品

javascript - 我需要在网页中制作一个按钮来放大和缩小(辅助功能控件)(禁用友好)

javascript - tinymce 在数据库安全问题中存储生成的标记

javascript - 我可以选择链接引用的 ID 吗?

Javascript:使用 jQuery 的异步函数调用

javascript - 如何在应用程序打开时创建一次性事件?