AJAx 返回后链接 跳转,跳转,AJAX返回和重定向

本文详细介绍了ThinkCMF框架中控制器基类提供的success和error方法,用于页面跳转和错误处理。这两个方法在操作成功或失败后,可以方便地引导用户至指定页面,并能配合AJAX请求返回JSON数据。此外,还提到了redirect方法用于URL重定向,支持指定参数和HTTP状态码。这些功能对于开发过程中用户体验和前后端交互至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

## 页面跳转

操作完成后,成功或失败页面跳转可以使用 控制器基类的success,error方法:

#### success方法

```php

/**

* 操作成功跳转的快捷方法

* @access protected

* @param mixed $msg 提示信息

* @param string $url 跳转的URL地址

* @param mixed $data 返回的数据

* @param integer $wait 跳转等待时间

* @param array $header 发送的Header信息

* @return void

*/

protected function success($msg = '', $url = null, $data = '', $wait = 3, array $header = [])

```

常用方式:

```php

//默认跳转到$_SERVER['HTTP_REFERER']

$this->success('添加成功');

//默认跳转到article/index

$this->success('添加成功',url('article/index'));

//默认跳转到article/index,并设置数据

$this->success('添加成功',url('article/index'),['id'=>1]);

```

#### error方法

```php

/**

* 操作错误跳转的快捷方法

* @access protected

* @param mixed $msg 提示信息

* @param string $url 跳转的URL地址

* @param mixed $data 返回的数据

* @param integer $wait 跳转等待时间

* @param array $header 发送的Header信息

* @return void

*/

protected function error($msg = '', $url = null, $data = '', $wait = 3, array $header = [])

```

常用方式:

```php

//默认跳转到javascript:history.back(-1);

$this->error('添加失败');

//默认跳转到article/index

$this->error('添加失败',url('article/index'));

//默认跳转到article/index,并设置数据

$this->error('添加失败',url('article/index'),['id'=>1]);

```

## AJAX返回

和上面的页面跳转类似也使用 success,error方法,只是如果是 ajax请求会以 json格式返回

#### success方法

常用方式:

```php

//默认跳转到$_SERVER['HTTP_REFERER']

$this->success('添加成功');

//默认跳转到article/index

$this->success('添加成功',url('article/index'));

//默认跳转到article/index,并设置数据

$this->success('添加成功',url('article/index'),['id'=>1]);

```

返回结果:

```

{

"code":1,

"msg":"添加成功!",

"data":"",

"url":"",

"wait":3

}

```

#### error方法

常用方式:

```php

//默认跳转到javascript:history.back(-1);

$this->error('添加失败');

//默认跳转到article/index

$this->error('添加失败',url('article/index'));

//默认跳转到article/index,并设置数据

$this->error('添加失败',url('article/index'),['id'=>1]);

```

返回结果:

```

{

"code":0,

"msg":"添加失败!",

"data":"",

"url":"",

"wait":3

}

```

## 重定向

重定向用控制器的 redirect 方法

```

/**

* URL重定向

* @access protected

* @param string $url 跳转的URL表达式

* @param array|integer $params 其它URL参数

* @param integer $code http code

* @return void

*/

protected function redirect($url, $params = [], $code = 302)

```

常用方式:

redirect方法的参数用法和助手函数url的用法一致(参考URL生成部分),如:

```

$this->redirect('Article/index', ['id' => 2]);

```

重定向到指定的外部URL地址 并且使用302

```

$this->redirect('http://www.thinkcmf.com',302);

```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值