首页 > 后端开发 > php教程 > yii2中a连接用post方法请求action却执行了三遍

yii2中a连接用post方法请求action却执行了三遍

WBOY
发布: 2016-06-06 20:27:49
原创
1247 人浏览过

现在情况是,我点了一下a链接,是 post 请求,参数是 get传递的, actionTripDays 方法执行了三遍,表里被插入了三条数据,应该只执行一次,插入一条数据的,这是为毛呢??求帮助

但我在,if 里,dump($position) 却只有一次输出。

<code><a href="<?=%20Url::toRoute(%5B'trip-days',%20'id'%20=>%20%24logId,%20'position'%20=>%20'end'%5D)%20?>" class="add-one-day" data-method="post" rel="nofollow">+ 新增后一天</a>


public function actionTripDays($id)
{
    $model = $this->findModel($id);

    // 最开始是这样写的,执行了两遍
    if (!empty($position = Yii::$app->request->get('position', '')))
 
    // 变成下面这样干脆执行了三遍
    if (Yii::$app->request->getIsPost() && !empty($position = Yii::$app->request->get('position', ''))) {
        // dump(Yii::$app->request->get('position', ''));
        // exit;
        TravelDay::addDay($position, $model->id);
    } else {
        TravelDay::initDay($model->id);
    }


    $days = TravelDay::find()
                ->where(['travel_log_id' => $model->id])
                ->orderBy(['order' => SORT_ASC])
                ->all();

    $images = TravelImg::find()
            ->where(['travel_log_id' => $model->id])
            ->orderBy(['order' => SORT_ASC])
            ->all();


    return $this->render('trip-days', [
            'images' => $images,
            'days' => $days,
            'logId' => $model->id,
        ]);
}</code>
登录后复制
登录后复制

回复内容:

现在情况是,我点了一下a链接,是 post 请求,参数是 get传递的, actionTripDays 方法执行了三遍,表里被插入了三条数据,应该只执行一次,插入一条数据的,这是为毛呢??求帮助

但我在,if 里,dump($position) 却只有一次输出。

<code><a href="<?=%20Url::toRoute(%5B'trip-days',%20'id'%20=>%20%24logId,%20'position'%20=>%20'end'%5D)%20?>" class="add-one-day" data-method="post" rel="nofollow">+ 新增后一天</a>


public function actionTripDays($id)
{
    $model = $this->findModel($id);

    // 最开始是这样写的,执行了两遍
    if (!empty($position = Yii::$app->request->get('position', '')))
 
    // 变成下面这样干脆执行了三遍
    if (Yii::$app->request->getIsPost() && !empty($position = Yii::$app->request->get('position', ''))) {
        // dump(Yii::$app->request->get('position', ''));
        // exit;
        TravelDay::addDay($position, $model->id);
    } else {
        TravelDay::initDay($model->id);
    }


    $days = TravelDay::find()
                ->where(['travel_log_id' => $model->id])
                ->orderBy(['order' => SORT_ASC])
                ->all();

    $images = TravelImg::find()
            ->where(['travel_log_id' => $model->id])
            ->orderBy(['order' => SORT_ASC])
            ->all();


    return $this->render('trip-days', [
            'images' => $images,
            'days' => $days,
            'logId' => $model->id,
        ]);
}</code>
登录后复制
登录后复制

我不是来回答,我是想问 yii 是怎么实现给a元素设定请求方式的

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板