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(「出錯啦,請聯系系統管理員!」);
}
});
});
});