小编its*_*inn的帖子

如何从click事件对象获取链接的href属性的参数

有没有一种简单的方法可以使用click事件对象在单击链接的href属性的末尾获取参数?

我有一些看起来像这样的jQuery代码:

$(document).ready(function() {
    $('#pages').delegate("a", "click", function(e) {
        var formData = "parameters to clicked link";
        $.ajax({
            url: 'friends2.php',
            dataType: 'json',
            data: formData,
            success: function(data) {
                $('#searchbutton').attr("disabled", false);
                $('#searchresults').html(data.results);
                $('#pages').html(data.paginate);
            }
        });//ajax end
        return false;
    });
});
Run Code Online (Sandbox Code Playgroud)

这是相关的HTML:

<div id="pages">
<span class="disabled">previous</span>
<span class="current">1</span>
<a href="friends.php?term=ma&p=2">2</a>
</div>
Run Code Online (Sandbox Code Playgroud)

我正在尝试做的是对我用ajax完成的搜索结果进行分页.搜索运行正常,并获得与查询匹配的用户列表.创建分页链接的结果脚本部分也正常工作.

在上面的示例中,有两页结果.当用户单击链接转到结果的第2页时,我想要做的是拦截链接点击,而是使用term=ma&p=2传递给请求的数据创建新的ajax 请求.

所以,长话短说,是否有一种简单的方法可以term=ma&p=2从事件对象中获取传递给我jQuery上面的匿名函数?

javascript ajax jquery

8
推荐指数
2
解决办法
3万
查看次数

仅在生产服务器上找不到类错误

我正在使用Silex开展一个项目.在一个特定的文件中,我添加了一个use语句,让自动加载器包含一个特定的php文件.稍后在文件中,我使用该类.一切都在开发服务器上,但是当我转向生产时,我收到了一条Fatal error: Class not found消息.编辑:两台服务器现在都使用PHP 5.4.4.

是否存在可能导致此问题的任何特定安装问题?我可以确认作曲家生成的两个命名空间自动加载文件是相同的.

仅仅为了彻底,这里是包含声明:

use Instaphp;
Run Code Online (Sandbox Code Playgroud)

以下是代码中后面的类的用法:

$app['instaphp'] = $app->share(function() use ($app) {
            if($app['tagframe.instagram_token'] === null) {
                return Instaphp\Instaphp::Instance();
            } else {
                return Instaphp\Instaphp::Instance($app['tagframe.instagram_token']);
            }
        });

        $app['instaphp.config'] = $app->share(function() use ($app) {
            return Instaphp\Config::Instance();
        });
Run Code Online (Sandbox Code Playgroud)

这是确切的错误:

Fatal error: Class 'Instaphp\Config' not found in /var/www/silexsandbox/src/TagFrame/Silex/TagFrameServiceProvider.php on line 89
Run Code Online (Sandbox Code Playgroud)

更新:我应该补充一点,我在我正在研究的相当大的代码库中的其他地方都没有遇到过这样的错误,所以我知道它并不像ALL命名空间那么简单.

php namespaces silex

7
推荐指数
2
解决办法
1865
查看次数

使用数据库驱动的应用程序示例将OOP理论与实践联系起来

我是OOP的新手,并且认为我会尝试在我正在尝试的小应用程序上试用Silex.我正在寻找一些关于我的设计是否符合良好的面向对象原则的建议.

我有一个User对象,基本上只是一堆属性,getter和setter.然后,我有一个UserService对象,其中包含用于验证用户,从数据库获取用户,设置或更新用户信息等的逻辑.我还有一个UserServiceProvder类,UserService用于向应用程序提供类的实例(似乎是在Silex中创建可重用的代码块的最佳方法.

我现在的问题是:我正在使用Silex附带的Doctrine DBAL,当我实例化UserService该类时,我很想传入对Doctrine对象的引用,然后硬编码调用该对象的方法.UserService类.

例如,返回一个User从数据库中的ID,我可能会创建一个名为方法getUserById($id),然后硬编码原则编制声明成的方法来从数据库中选择该用户,然后返回一个User对象.

我是否更好地创建一个完整的其他服务,它只是Doctrine DBAL的进一步抽象,并将其传递给UserService我实例化它?这样,我就可以将Doctrine准备好的语句硬编码到该类中,让我的UserService类更加封装和重用,以防我决定将来离开Doctrine.

我想我现在遇到的困难是意识到OOP是否存在过度杀戮这样的事情.在我看来,第二种方法更可重复使用,但这是必要的还是明智的?

php oop doctrine-orm silex

1
推荐指数
1
解决办法
350
查看次数

标签 统计

php ×2

silex ×2

ajax ×1

doctrine-orm ×1

javascript ×1

jquery ×1

namespaces ×1

oop ×1