yii2 ajax 错误提示,Yii2 Ajax Post 实例及常见错误修正

先贴下我的代码:

signup.js

$('.reg_verify_pic').click(function(){

var csrfToken = $('meta[name="_csrf-Token"]').attr("content");

var mobileNum = $('#signupform-mobile').val();

console.log(mobileNum);

$.ajax({

url:"index.php?r=sms/sms",

type:"POST",

data:{phone:mobileNum,_csrf:csrfToken},

dataType:"json",

success:function(data){

console.log(data);

},

error:function(er){

console.log('错误');

}

})

SmsController

public $enableCsrfValidation = false ;

public function actionSms() {

if(Yii::$app->request->isAjax) {

$data = Yii::$app->request->post();

$phone= explode(":", $data['phone']);

$phone = $phone[0];

}

$code = rand(100000,999999);

$c = new TopClient;

$c->appkey = 'XXXXXXXX';

$c->secretKey = 'XXXXXXXXXXXXXXXXXXXX';

$req = new AlibabaAliqinFcSmsNumSendRequest;

$req->setExtend("");

$req->setSmsType("normal");

$req->setSmsFreeSignName("XXXX");

$req->setSmsParam("{ \"code\":\"$code\",product:'XX'}");

$req->setRecNum($phone);

$req->setSmsTemplateCode("SMS_XXXXXXX");

$resp = $c->execute($req);

//var_dump($resp);

if($resp){

return json_encode($resp);

}

}

Yii2可以跟Ajax协作轻松完成我们想要的任何效果。但是,对于使用不熟练的开发者仍然会遇到很多问题。

FIRST,400错误:出现的原因在于csrf问题。

0fbc0121a478c96acd8365b5d97b83bb.png

解决办法:1,2,3作用等同,只采用一种即可。

1、接口的控制器中添加:

public $enableCsrfValidation = false ;

2、接口的控制器中添加:

public function beforeAction($action){

$this->enableCsrfValidation = false;

return parent::beforeAction($action);

}

3、接口的控制器中添加:

public function  init{

$this->enableCsrfValidation = false;

}

扩展:

1、frontend或者backend局部开启

在前台或者后台的配置main.php文件中:

request => [

'enableCookieValidation' => false,

]

2、全局开启

在common/config/main.php

request => [

'enableCookieValidation' => false,

]

按照上面的方法,配置完成之后出现了500错误,怎么办?看出错信息啊!!!任何问题解决关键都在于找到问题的原因和位置。

559c8eece5f3d9eb913d0e0cb2dc6984.png

PHP 中使用ajax时一些常见错误总结整理

这篇文章主要介绍了PHP 中使用ajax时一些常见错误总结整理的相关资料,需要的朋友可以参考下 PHP作为后端时,前端js使用ajax技术进行相互信息传送时,经常会出错误,对于新手来说有些手足无措.总 ...

Elasticsearch 集群和索引健康状态及常见错误说明

之前在IDC机房线上环境部署了一套ELK日志集中分析系统, 这里简单总结下ELK中Elasticsearch健康状态相关问题, Elasticsearch的索引状态和集群状态传达着不同的意思. 一.  ...

微信jssdk常见错误及解决方法

调用config 接口的时候传入参数 debug: true 可以开启debug模式,页面会alert出错误信息.以下为常见错误及解决方法: invalid url domain当前页面所在域名与使用 ...

yii2:doajax(post)会报500错误

yii2:doajax(post)会报500错误:这是因为yii2开启了防御csrf的攻击机制,可去先去掉,在控制器里去掉:public $enableCsrfValidation = false , ...

coreseek常见错误原因及解决方法

coreseek常见错误原因及解决方法 Coreseek 中文全文检索引擎 Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立发布,专攻中文搜索和 ...

.Net常见错误

常见错误 #1: 把引用当做值来用,或者反过来 C++ 和其他很多语言的程序员,习惯了给变量赋值的时候,要么赋单纯的值,要么是现有对象的引用.然而,在C# 中,是值还是引用,是由写这个对象的程序员决定 ...

分数的加减法——C语言初学者代码中的常见错误与瑕疵(12)

前文链接:分数的加减法——C语言初学者代码中的常见错误与瑕疵(11) 重构 题目的修正 我抛弃了原题中“其中a, b, c, d是一个0-9的整数”这样的前提条件,因为这种限制毫无必要.只假设a, b ...

C语言初学者代码中的常见错误与瑕疵(7)

问题: 矩形的个数 在一个3*2的矩形中,可以找到6个1*1的矩形,4个2*1的矩形3个1*2的矩形,2个2*2的矩形,2个3*1的矩形和1个3*2的矩形,总共18个矩形.给出A,B,计算可以从中找到 ...

随机推荐

PHP中基本符号及使用方法

注解符号:这个#还真很少用,能和shell通用还真不错呢. //,  # 单行注解多行注解 引号的使用 ' ' 单引号,没有任何意义,不经任何处理直接拿过来;" "双引号,php动 ...

javascript之css常用属性

1. position : 属性值有absolute .fixed.relative absolute:生成绝对定位的元素,相对第一父元素进行定位: fixed :   生成绝对定位的元素,相对于浏览 ...

KXFW界面库

如果你看到这里,觉得这个UI库不错,那请你一定要记住如下这些话.这个开源已经有更好的替代者,那就是QML,无法否认QML会有一些性能或BUG的问题,但也无法否定它的实现机制是非常棒的,你完全可以利用它 ...

js判断是否为空的代码

方法一: var keyVal= $("#key").val(); if(keyVal==undefined || keyVal=="" || keyVal== ...

Go从入门到精通(一)go语言初始

一.第一个go程序 package main import ( "fmt" ) func main(){ fmt.Println("hello world") ...

近期学习的原生JS知识以及jQuery框架

[正则表达式]1.正则表达式包括两部分: ① 定义正则表达式的规则 ② 定义正则表达式的模式(i/g/m)2.声明正则表达式: ① 字面声明 : var reg = /表达式规则/表达式模式 ② 使用 ...

智齿客服网页端接入文档V2.3

产品介绍 智齿客服网页端接入提供以下两种部署方式. 一.网页组件(推荐) 通过智齿客服网站咨询组件,企业的用户可快捷联系到企业客服获取帮助.智齿客服网页组件提供强大的用户行为采集能力和系统对接能力,支 ...

JS windows对象的top属性

原博文:http://www.jb51.net/article/44078.htm   本文为大家介绍下JS window对象的top.parent.opener含义,不了解的朋友可以参考下,希望对大 ...

截止2017年,最新的全国行政区划代码数据源(xml)

  • 0
    点赞
  • 0
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值