`
zccst
  • 浏览: 3319380 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

yii与独立的post请求

 
阅读更多
一、关于返回值传递

js中的post请求
$.post(url, to_post_data,  function(data){
	alert(data);
	if(data.msg == 'ok!') {
		alert(data.msg);
	}
	window.location.reload();
}, 'json');




yii XXController中的actionXX返回值
function  actionXX(){
	//接收 请求参数
	$ids = $this->request->getParam('ids');

	/**********  经过一系列处理  *********/

	//传回 返回值
	$this->response(array('status' => 0, 'msg' => 'ok!'));
}



附1:在Controller里的request定义
public $request = null;
public function init() {
	parent::init();

	$this->request = Yii::app()->request;
	$this->user = Yii::app()->user;

	if($this->request->isAjaxRequest) {
		$this->layout = false; // ajax will not render layout
	}

	if($this->user && $this->user->id && !$this->current_user) {
		$this->current_user = User::model()->findByPk($this->user->id);
	}
}

注:深刻理解this的含义。



附2:在Controller里的response方法
public function response($data, $type='application/json') {
	print json_encode($data);
	Yii::app()->end();
}



说明:
1,$.post要求返回json数据,所以yii返回的时候要用json_encode();
2,$.post要求返回json数据,不能掺杂任何其他数据。即不能在actionXX方法中有print_r($arr)之类的打印输出。这样才能保证是纯json格式的返回值。


二、关于post请求的参数

1,参数
var to_post_data = {};		
var str="";
$("input[name='checkbox']:checkbox:checked").each(function(){
	str += $(this).val()+", ";
})
to_post_data['ids'] = str.substring(0,str.length-1);


说明:
可以把看做对象,也可以看做数组,本质是包含多个名值对。
to_post_data['param1'] = param1;
to_post_data['param2'] = param2;

等同于"param1 =" + param1 +  "&param2 =" + param2 + ....


2,url
var url = OMS.baseUrl + "?r=failParts/sendToManufacturer");

// var url = <?php Yii::app()->urlManager->createUrl("failParts/sendToManufacturer"); ?>
注:在js里执行该代码,暂时测试还不行。


// var _self = this;
// var url = $(_self).attr('href_url');
注:失败的原因是弄清楚this的范围。如果href_url在this范围就行。但是,大多数情况可能不行。

如果您觉得本文的内容对您的学习有所帮助,您可以微信:
分享到:
评论

相关推荐

    Yii框架通过请求组件处理get,post请求的方法分析

    本文实例讲述了Yii框架通过请求组件处理get,post请求的方法。分享给大家供大家参考,具体如下: 在控制器的操作中处理get,post请求时,首先需要获得请求组件。 $request = \Yii::$app-&gt;request; 得到这个请求...

    YII2框架中使用yii.js实现的post请求

    本文给大家介绍的是简单分析下用yii2的yiihelpersHtml类和yii.js实现的post请求的方法,非常的简单,有需要的小伙伴可以参考下

    解读PHP的Yii框架中请求与响应的处理流程

    在Yii框架中,请求和响应处理是构建Web应用的关键环节。Yii框架采用MVC(模型-视图-控制...开发者应深入理解Yii框架中的请求与响应处理机制,以便能够更好地利用框架提供的各种功能和组件,开发出健壮且高效的Web应用。

    yii框架下的yii_blog 博客系统

    3. **安装与配置**:安装Yii框架通常通过Composer进行,然后配置web服务器(如Apache或Nginx)以指向项目的`web`目录。在`config/main.php`配置文件中,你可以设置数据库连接、路由规则、全局变量等。 4. **路由与...

    Yii框架快速入门

    - **传递用户请求**:将HTTP请求(包括路由和GET/POST数据)转发给适当的控制器进行处理。 一个标准的入口脚本示例如下所示: ```php // 指定Yii框架路径 $yii = dirname(__FILE__) . '/../framework/yii.php'; /...

    yii2使用sign签名认证

    对于POST、PUT等请求,签名可能需要放在请求体或Header中。 在实际开发中,你可以利用Yii2的事件系统和过滤器来实现签名认证的自动化处理,减少重复代码。此外,还可以使用Yii2的组件如`yii\web\Request`和`yii\...

    yii示例-下拉框-最新的yii框架

    Yii2支持模型绑定,这意味着表单提交的数据可以自动与模型属性关联,方便进行验证和处理。 6. **自定义样式** 要调整下拉框的外观,可以添加CSS类或使用前端框架如Bootstrap。Yii2默认使用Bootstrap样式,因此...

    YII配置详解以及开发规范

    Yii 框架详解与开发规范 Yii 是一款高效的 PHP 框架,适用于构建大型 Web 应用,包括门户、论坛、内容管理系统(CMS)和电子商务平台等高流量项目。其基于 Model-View-Controller(MVC)设计模式,强调可重用性和...

    Yii面试题摸底测试教学考前摸底

    - **HTTP动作处理:** 区分POST和GET请求,实现不同的逻辑处理。 #### 十、OAuth流程 **知识点解析:** - **OAuth流程:** 描述OAuth2.0的授权流程,包括获取授权码、换取访问令牌、刷新令牌等步骤。 #### 十一、...

    Yii框架执行流程及部分源码分析

    `CHttpRequest`可以解析URL,获取GET、POST参数,检测AJAX请求等。在Yii2中,请求组件被进一步优化为`yii\web\Request`。 5. **Run方法流程** 应用的`run()`方法是整个执行流程的核心。它会解析URL,调度到相应的...

    yii中blog完成后的例子

    10. **扩展与插件**:Yii拥有丰富的社区和第三方扩展,可以快速集成到项目中,如SEO优化工具、社交分享插件等。 通过分析这个博客例子,开发者不仅可以学习到Yii框架的基本使用,还能了解如何将这些技术应用于实际...

    yii ajax demo

    本教程将深入探讨如何在 Yii 框架中实现 AJAX 功能,以及与之相关的知识点。 首先,`vtalk.ini` 文件可能是一个配置文件,通常在 PHP 开发中,这种文件用于设置应用的环境变量或配置参数。在 Yii 中,配置文件通常...

    Yii 的登录流程

    2. **收集用户输入**:如果请求包含POST数据,则收集用户的登录信息,并将其赋值给`LoginForm`对象。 3. **验证用户输入**:调用`$model-&gt;validate()`方法验证用户的输入是否符合要求,例如检查用户名和密码是否为空...

    微服务之数据库服务-客户端(PHP+YII)

    在微服务中,我们可以用PHP来编写服务的业务逻辑,处理HTTP请求,以及与数据库交互。YII是一个高性能的PHP框架,它提供了许多用于快速开发微服务的工具和特性,如MVC(模型-视图-控制器)结构、数据库访问对象(DAO...

    Yii概念整理_珍贵资料

    #### 一、Yii框架特点与优势 **Yii**框架作为一款高性能的PHP开发框架,以其高重用性和高效性而著称。它在设计上采用了面向对象的方式,提供了丰富的功能来简化开发过程。具体特点包括: - **事件驱动**:Yii框架...

    YII Framework学习之request与response用法(基于CHttpRequest响应)

    如果设置为true,`onBeginRequest`事件触发时会调用`validateCsrfToken()`,检查请求头或POST数据中的CSRF令牌是否与预期相符,以防止恶意操作。 4. **获取请求参数**: `getParam()`、`getQuery()`和`getPost()`...

    YII 通用CURD外部Action 适合单表

    这些文件可能包含了处理POST请求,验证数据,与模型交互,以及调用setFlash来显示操作结果的逻辑。 综上所述,Yii框架中的通用CURD外部Action旨在简化单表数据操作,提高开发效率。通过setFlash方法,开发者能够...

    yii2 图片上传扩展插件

    3. **控制器(Controller)**:接收并处理POST请求,调用模型进行验证,然后保存文件。 4. **模型规则(Model Rules)**:在模型类中定义验证规则,如`[['image'], 'file', 'extensions' =&gt; 'jpg, gif, png']`。 5. ...

Global site tag (gtag.js) - Google Analytics