一个单独的html,用ajax去请求用yii写的接口,请求url和一些配置是怎么弄得,还有如何跨域 [ 2.0 版本 ]
就是比如我本机有一个注册的html页面,单独的,与yii无关,不是yii里的view,然后我用yii写的接口放在买的服务器上,那么它们之间就有一个跨域的问题,之前没用框架写的接口,解决跨域是只要在php接口头上加一句header("Access-Control-Allow-Origin:*");
就可以了,html里面像这样子请求:
$.ajax({
type: "POST",
url: "http://xxxx",
dataType:"json",
data: {psd:"298865"},
success:function(json){
alert(json);}
});
});
然后现在就是我的html里url写的是 http://localhost:8080/basic/web/index.php?r=user/register
,我暂时还没把接口放到买的服务器上去,可是现在本地的它都报错:
403 Forbidden You don't have permission to access /127.0.0.0:8080/basic/web/index.php
on this server.
所以想问下 是不是要配置什么的,还是说url不是那样写的。另外就是如果要跨域的话,又该怎么配置,貌似yii有个助手类use yii\filters\Cors
;
use yii\helpers\ArrayHelper;
public function behaviors()
{
return ArrayHelper::merge(
[['class' => Cors::className(),],], parent::behaviors());
}
助手类要怎么配置。
最佳答案
-
请先确认你能正常的使用user/register,比如直接在网页访问。检查你YII中编写的注册方法是否正常使用
其次,在你自己写的HTML中用ajax方式访问上方同样的地址,看看是否是跨域的问题
如果是跨域的问题,舰长已推荐jsonp共 5 条回复@阿星 嗯,那个是表单csrf验证。如果不用YII的表单控件,可以选择关掉。跨域的话,http://blog.163.com/wger_163_dh/blog/static/14264615520130243568649 看看是不可是可以解决
其他 2 个回答
阿星
注册时间:2015-07-20
最后登录:2017-01-18
在线时长:7小时1分
最后登录:2017-01-18
在线时长:7小时1分
- 粉丝5
- 金钱245
- 威望0
- 积分315