`
zccst
  • 浏览: 3291367 次
  • 性别: 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请求的方法,非常的简单,有需要的小伙伴可以参考下

    yii 框架curl扩展

    curl远程请求,支持post、get 多种方法,方便实现接口,采集,平台短信发送等多种功能。

    yii2-rest:yii 2 中 rest api 的独立操作

    组件库包含用于处理休息请求的独立操作。 安装 安装此扩展的首选方法是通过 。 要么跑 $ composer require "webulla/yii2-rest":"*" 配置 在我的项目中,我使用在客户端处理模型。 因此,来自模型(方法Backbone....

    PHP封装请求类实例分析【基于Yii框架】

    use Yii; use app\common\services\BaseService; class HttpClient extends BaseService{ private static $headers = []; private static $cookie = null; public static function get($url, $param =[]) { ...

    记录Yii2框架开发微信公众号遇到的问题及解决方法

    微信公众号开发,提示“该公众号暂时无法提供服务,请稍后再试”,如何解决?...如果是以前的Yii的话,如果没有做严格的post请求的csrf验证的话,应该都是正常的。 但是使用Yii2之后就会有问题,如下 'request' =

    test-yii2-vue:其余api yii2 + vue.js

    将api放在yii2 + vue.js上 安装 从github克隆项目 git clone ...POST /api/products: создание нового товара; GET /api/products/123: подробная инфо

    详解PHP的Yii框架中的Controller控制器

    控制器是 MVC 模式中的一部分, 是继承yii\base\Controller类的对象,负责处理请求和生成响应。 具体来说,控制器从应用主体接管控制后会分析请求数据并传送到模型, 传送模型结果到视图,最后生成输出响应信息。 ...

    yii2feedback:Yii2简单反馈扩展

    yii2feedback ...来自客户端的信息将通过ajax POST请求发送。 该信息为JSON格式。 浏览器-浏览器信息。 url-页面URL。 注意-反馈的说明。 img-反馈的屏幕截图。 -base64编码的数据URI! html-页面的结构。

    YII使用url组件美化管理的方法

    本文实例讲述了YII使用url组件美化管理的方法。分享给大家供大家参考,具体如下: urlManager组件 yii的官方文档对此的解释如下: ...当使用该规则来解析一个请求时,这个参数的值会被注入到$_GET参数中。 matchValue 

    从Yii2的Request看其CSRF防范策略

    先画一幅流程图理理思路:今天在处理一个这样的需求,在app\...而如果用Web网页方式GET访问(去除verbFilter的POST限制),是正常的通过帖子下面的帖子找到了问题的所在,是CSRF验证的原因;因为Web网页访问的时候f

    Yii CGridView用法实例详解

    本文实例讲述了Yii CGridView用法。分享给大家供大家参考,具体如下: CGridView的功能是用来显示的数据列表。它支持排序,分页,和AJAX数据请求。 CGridView最好使用 data provider,最好是 CActiveDataProvider 。...

    yii2-inherit-model-behavior:使用此行为将继承的AcriveRecord与(一对多关系)连接起来

    扩展支持2种请求格式: 默认的Yii2输入数据,例如: //$_POST[][ 'Object' =&gt; [ 'option_1' =&gt; 'value' , 'option_2' =&gt; 'another value' , ]] 简单的输入名称(可用于API),例如: //$_POST[][ 'option_1' =&gt; '...

    url-minifier:网址缩短的API,可直接在您的项目中使用

    网址减少器 网址缩短的API,可以直接在您的项目中使用。 ...在正文中使用参数longURI在/minify minify端点发出POST请求。 您将收到一个JSON对象。 使用密钥antURI获取缩小的URL。 例子 访问: : 或

    php-srouter:A very lightweight and fast speed PHP request router. 非常快速且轻量的请求匹配路由器。无依赖、简洁、自定义性强,查找匹配速度快

    无依赖、简洁、速度快、功能完善轻量级且速度快,查找速度不受路由数量的影响支持路由组, 支持路由参数定义,以及丰富的自定义路由选项支持给指定的路由命名,可根据名称拿到注册的路由对象支持请求方法: GET POST ...

    php-srouter 路由器

    非常轻量级的的路由器。...支持请求方法: GET POST PUT DELETE HEAD OPTIONS. 支持事件: found notFound... 当触发事件时你可以做一些事情(比如记录日志等),支持自动匹配路由到控制器就像 yii 一样 ... ...

    Bootstrap进度条与AJAX后端数据传递结合使用实例详解

    很多时候,我们执行页面上某个URL请求的时候,需要有等待的时间。如果是直接的页面跳转,浏览器会有缓冲进度展示,但是如果是AJAX,我觉得应该自己加上进度条,等待数据全部接收到之后,进度条消失,展示页面。 在...

Global site tag (gtag.js) - Google Analytics