phpajax源码
⑴ php如何实现登陆后返回原页面
访问网站页面时,有的页面需要授权才能访问,这时候就会要求用户登录,跳转到登录页面login.php,怎么实现登录后返回到刚才访问的页面
项目需求
访问网站页面时,有的页面需要授权才能访问,这时候就会要求用户登录,跳转到登录页面login.php,怎么实现登录后返回到刚才访问的页面。
解决思路1:
在跳转到登录页面之前要将当前访问页面的url保存到cookie里面,登录验证授权通过后,从cookie中取出这个url值,跳转到该 url指定的页面。
具体实现
我现在的程序是基于ThinkPHP框架的,我们会有一个父类控制器,下面我就把这个设置cookie的代码加到这个BaseAction里面的_initialize()函数中,这样程序就大大简化工作量了。
代码如下:
Cookie::set('refer', $refer);
登录检测的函数里面我们加入:
代码如下:
$refer = Cookie::get('refer');
现在这个$refer就是我们之前访问的页面,我们可以通过AJAX返回这个参数,然后进行跳转,或者直接使用程序进行跳转,具体要根据你程序的需求了。
解决思路2:
除了存成cookie的形式,相信大家也看到了很多大型网站直接采用GET的形式获得,Drupal的登陆机制就是这样。
这种思路具体是这样的:
在跳转到登录页面前要将访客访问的页面的url作为参数传递过去,登录验证后,授予访问权限之后跳转到该url指定的页面。
比如登录前的url为:openphp.html 当访客访问时,点击无权限,跳转到登录页面的地址就为login.php?url=openphp.html,这样在登录时就可以用GET方式获取该参数 openphp.html,登录验证成功后跳转到openphp.html 这个页面就可以了。
大致上我也就这两种思路了,如果你有更好的思路,真心希望你可以告诉我。
⑵ js执行一遍php并获取php里的变量
ajax完全可以
<script>
//ajax源码
varajax=newXMLHttpRequest;
ajax.open('post','php页面的路径')
ajax.send(null)
ajax.onreadystatechange=function(msg){
if(ajax.readyState==4&&ajax.status==400){
alert(msg)//在php页面独到的数据,就是php页面输出的数据
}
}
</script>
⑶ 用php 怎么抓取js+ajax动态生成的页面内容
第一步,查看网页源代码,找到ajax请求的URL。
比如,js代码为:
$.ajax({
url: 'ajax.php?id=100',
data: {ad_num:num,ad_str:str,cart_update_time:cart_update_time},
type: 'POST',
dataType: 'text',
async : false,
success: function(data){
}
其中的ajax.php?id=100就是ajax请求的URL。
第二步,拼接URL,用网站的域名加上这个找到的请求路径。
比如,网站域名为: www.abc.com 拼接后的URL为:www.abc.com/ajax.php?id=100
第三步,用PHP读取第二步拼接出的URL即可。
⑷ 网页叫reg.ph中的action属性是这么写的:action="reg.phpaction=add"递交给自己是什么意思源码如下!
action="reg.php?action=add"
第一个action是form的属性,用于指定提交的url。
第二个action是url中的参数,这个参数在php中可以取到,值是add。
不知道明白否。
⑸ ThinkPHP实现文章类的评论如上面一个评论输入框,输入后评论显示在下方的文本框内,求源码
上面的评论用JQueryAJAX提交,返回的值就可以直接对下面文本框赋值就好了!
<script>
$.ajax({
type:"GET",
url:"test.json",
data:{username:$("#username").val(),content:$("#content").val()},
dataType:"json",
success:function(data){
//针对下面文本框进行赋值
}
});
</script>
⑹ 如何用jquery和ajax提交数据 请给出源代码说明
给你写一个jquery操作ajax到.net上的ashx文件的例子,如果你是php,则相应的改动即可.
$(funtion(){
$("#btn").click(funtion(){ //点击ajax提交事件
$.ajax({ //jquery的ajax方法
type:"get", //ajax提交方式为get,也可以为post,根据你的需求
url:"ajaxtest.ashx?type=1&name=sun", //url为ajax提交的地址,后面跟的是参数,因为采用的是get方式 所以可以直接写参数,参数可以根据具体的你的程序变动
success:funtion(msg){ //如果ajax操作成功,根据返回值msg做相应的操作
switch (msg) {
case "1":
alert("ajax成功啦:)");
break;
case "0":
alert("ajax返回值为0!");
$("#btn_save").unbind("click");
break;
},
error:funtion(xh){ //如果ajax出错,根据返回值写相应的提示代码
alert(“出错啦,请联系系统管理员!”);
}
});
});
});