typecho ajax 登陆问题

讨论程序使用中的问题

typecho ajax 登陆问题

帖子yeluo » 2019年 2月 10日 19:58

typecho ajax登陆 反回responseText返回的为html代码!
帐户密码为admin/123456
<script>
$.ajax({
   url: "<?php $this->options->loginAction(); ?>",
   data:{'name':'admin','password':'123456'},
   type: "POST",
   dataType:'json',
   success:function(data){
$('#errormsg').html("2");
console.log(data);
},
error : function(data) {
$('#errormsg').html("1");
console.log(data);
}
});

</script>
返回的:
readyState:4
status:200
statusText:parsererror
responseText:html代码
一直是error:function(data)
怎么解决
yeluo
 
帖子: 2
注册: 2019年 2月 10日 19:52

Re: typecho ajax 登陆问题

帖子Diamond » 2019年 2月 11日 18:14

去掉 dataType:'json',应该就行了。

另外想问下我在用ajax请求自己的php逻辑,在那边用Typecho_Cookie这个类保存登陆cookie后,在前台页面获取不到cookie,登陆不成功,不知道为啥……(我模仿弄了个小demo却没问题)
Diamond
 
帖子: 30
注册: 2018年 5月 2日 12:09

Re: typecho ajax 登陆问题

帖子yeluo » 2019年 2月 12日 09:51

QQ图片20190212095013.png
QQ图片20190212095013.png (45.7 KiB) 被浏览 68 次
去掉 dataType:'json'之后,console.log(data)直接输出代码
QQ图片20190212095021.png
QQ图片20190212095021.png (14.42 KiB) 被浏览 68 次
yeluo
 
帖子: 2
注册: 2019年 2月 10日 19:52

Re: typecho ajax 登陆问题

帖子Diamond » 2019年 2月 15日 23:46

返回html是返回,但已经登陆成功了,具体原理不明,一般都这么写:(我现在的问题是想在typecho外的其他系统里实现登陆typecho,不知道怎么判断的用户登录状态,用的cookie还是session不清楚……Typecho_Cookie::set('__typecho_uid', $user['uid'], 0);)这个总不管用……哪个大神知道啊=_=!
$.ajax({
url: $(".login_form").attr("action"),
type: $(".login_form").attr("method"),
data: $(".login_form").serializeArray(),
success: function(data) {
location.reload();
},
error: function() {
alert("登录错误!");
}
});
Diamond
 
帖子: 30
注册: 2018年 5月 2日 12:09


回到 使用问题

在线用户

正在浏览此版面的用户:Baidu [Spider] 和 4 位游客