1、首先安裝配置php集成環(huán)境。以phpstudy為例。
創(chuàng)新互聯(lián)專注于企業(yè)成都營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、西疇網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開(kāi)發(fā)、購(gòu)物商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為西疇等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
2、在www目錄下新建一個(gè)html文件(new1.html),和一個(gè)php(ab.php)文件。
3、html文件先引用所需的類庫(kù)jquery文件,其次在body部分,以一個(gè)簡(jiǎn)單的表單提交為例。
4、html的javascript-ajax部分,以上步body中的cilik事件為例。
5、php文件的編寫部分,主要使用$_POST來(lái)接受ajax傳輸?shù)臄?shù)據(jù),并可以返回不同類型的數(shù)據(jù)。如echo結(jié)果或者json_encode轉(zhuǎn)碼成為json格式的數(shù)據(jù)返還給前端做處理。
6、結(jié)果展示:表單中的內(nèi)容在提交后,無(wú)刷新展示了出來(lái)。
你是想抓別人網(wǎng)頁(yè)上ajax動(dòng)態(tài)載入的數(shù)據(jù)吧? 1、要找到它的ajax載入的URL地址 2、利用PHP的file_get_contents($url)函數(shù)讀取那個(gè)url地址。 3、對(duì)抓取到的內(nèi)容進(jìn)行分析或正則過(guò)濾。
方法和詳細(xì)的操作步驟如下:
1、第一步,安裝并配置PHP集成環(huán)境,以phpstudy為例,見(jiàn)下圖,轉(zhuǎn)到下面的步驟。
2、第二步,完成上述步驟后,在www目錄中創(chuàng)建一個(gè)新的html文件(new1.html)和一個(gè)php(ab.php)文件,見(jiàn)下圖,轉(zhuǎn)到下面的步驟。
3、第三步,? 完成上述步驟后,html文件首先引用所需的類庫(kù)jquery文件,然后引用正文部分,以簡(jiǎn)單的表單提交為例,見(jiàn)下圖,轉(zhuǎn)到下面的步驟。
4、第四步,完成上述步驟后,html的javascript-ajax部分,以上一步正文中的cilik事件為例,見(jiàn)下圖,轉(zhuǎn)到下面的步驟。
5、第五步,完成上述步驟后,php文件的準(zhǔn)備部分主要使用$ _POST接受ajax傳輸?shù)臄?shù)據(jù),并且可以返回不同類型的數(shù)據(jù)。
例如回聲結(jié)果或轉(zhuǎn)碼為json格式的json_encode數(shù)據(jù)將返回到前端進(jìn)行處理,見(jiàn)下圖,轉(zhuǎn)到下面的步驟。
6、第六步,完成上述步驟后,結(jié)果顯示:提交表單中的內(nèi)容后,無(wú)需刷新即可顯示該內(nèi)容,見(jiàn)下圖。這樣,就解決了這個(gè)問(wèn)題了。
你是說(shuō)用 php 獲取 遠(yuǎn)程的網(wǎng)頁(yè)?
你去看這個(gè)函數(shù):file_get_contents
---------------------------------------------
你的事: 后臺(tái)要查詢出一個(gè)用戶(用戶名,用戶ID等一些信息)再把這些信息返回到前臺(tái)顯示。
但是前臺(tái)現(xiàn)在我只要一個(gè)用戶名,這樣的話,最好用 json 格式。
比如,后臺(tái)這樣寫 :
echo '{"name":'. json_encode('前端攻城師') .',"id":1000,"area":'. json_encode('中國(guó)') .'}';
然后前臺(tái)代碼:
script
$.post("index.php?a=diary_view2action=first" , function(data){
alert(data.name);
},'json');
/script
這樣,就可以獲取 名字啦。。。
如果還有問(wèn)題,設(shè)我為最佳,然后去 jQuery 愛(ài)好者論壇 去提問(wèn)。。。
有高手幫你回答。。。
一般將前臺(tái)頁(yè)面搜索結(jié)果中,不喜歡的內(nèi)容(鏈接),刪除掉,因?yàn)檎麄€(gè)網(wǎng)站的編程框架式thinkphp,運(yùn)用js中的ajax對(duì)頁(yè)面進(jìn)行響應(yīng),調(diào)用后臺(tái)php接口,實(shí)現(xiàn)前臺(tái)和后臺(tái)數(shù)據(jù)庫(kù)的同時(shí)更新.
首先我們需要做的就是在前臺(tái)頁(yè)面中添加一個(gè)文本“刪除”,可以這么添加:
代碼如下:
a href="javascript:void(0);" id= "phpecho $val[id]/php" class="delete" 刪除/a
上面的html代碼的意思:就是給刪除添加一個(gè)href,這個(gè)href是個(gè)js函數(shù),類似于超鏈接的作用,當(dāng)然對(duì)于我這樣的新手在剛開(kāi)始的時(shí)候會(huì)有疑惑,我們平時(shí)的超鏈接不是這樣的,網(wǎng)頁(yè)中很多的javascript:void(0),那程序怎么知道用戶點(diǎn)擊刪除后,會(huì)響應(yīng)其真正對(duì)應(yīng)的js函數(shù)呢?別急,這就是為什么會(huì)為刪除添加id以及class這樣的標(biāo)簽,相信我把js中的代碼公布出來(lái)以后你就會(huì)明白了,代碼如下:
jQuery(".list a.delete").click(function(){
if(confirm("你確定要?jiǎng)h除嗎?")){
var _this=this;
var id = jQuery(_this).attr("id");
jQuery.ajax({
url : '/Search/index.php/Jason/delete?',
data : {'id':id},
dataType : 'json',
success : function(data){
var del = data.del;
if(del == 1){//刪除成功
jQuery("#"+id).parents(".list").remove();
}else{//刪除失敗
alert("刪除失敗");
}
}
});
}
});
大家看函數(shù)的頭部:jQuery(".list a.delete").click(),jQuery后面的標(biāo)簽是很重要的,這就保證了jquery很準(zhǔn)確的響應(yīng)頁(yè)面中用戶點(diǎn)擊的“位置”,添加的事件為click(),在click里添加響應(yīng)事件的代碼:var id = jQuery(_this).attr("id");獲取a對(duì)應(yīng)的id,因?yàn)檫@個(gè)id是我們刪除數(shù)據(jù)庫(kù)時(shí)用到的鏈接id,當(dāng)然這種直接明文的方式不好,在這里只是介紹整個(gè)響應(yīng)過(guò)程。調(diào)用ajax,實(shí)現(xiàn)異步的運(yùn)行整個(gè)過(guò)程。我們?cè)O(shè)置了js接受的是json串,這里的方式應(yīng)該有很多種吧,我沒(méi)有去嘗試,大家要是有興趣可以自行嘗試一下。/Search/index.php/Jason/delete?這句話就是js去請(qǐng)求php的接口,php接口對(duì)用的代碼如下:
注意ajax在求php接口時(shí)的路徑,也就是delete函數(shù)必須放在JasonAction.class.php中,此例子是必須這樣的:
代碼如下:
public function delete(){
if($this-isGet()){
$userId = session("uid");//用戶登錄
if(!empty($userId)){
$a = M('***');
$id = $this-_get('id');
$result=$a-where("id=$id")-delete();//刪除
if($result 0){
$arr = array("del"='1');
}else{
$arr = array("del"='0');
}
$json_str = json_encode($arr);
echo $json_str;//返回給js
}
}
}
相信大家對(duì)上面的代碼不會(huì)陌生吧,整個(gè)過(guò)程都是thinkphp框架內(nèi)部配置完畢的.
var del = data.del;這句是接受php代碼返回來(lái)的json串中del這個(gè)key的value,進(jìn)而在前臺(tái)進(jìn)行頁(yè)面更新和響應(yīng).
復(fù)制代碼代碼如下:
if(del == 1){//刪除成功
jQuery("#"+id).parents(".list").remove();//這句話就是后臺(tái)刪除成功后,直接在前臺(tái)對(duì)響應(yīng)的div進(jìn)行刪除,這樣性能就會(huì)很快,無(wú)需進(jìn)行后臺(tái)數(shù)據(jù)的重新提取至前臺(tái)頁(yè)面中,
}else{//刪除失敗
alert("刪除失敗");
}
整個(gè)響應(yīng)的過(guò)程就是這樣,至于效果優(yōu)化,是優(yōu)化和細(xì)化方面的問(wèn)題,后來(lái),身邊的同事又告訴我前臺(tái)移除響應(yīng)鏈接的另一個(gè)動(dòng)態(tài)效果:
即將:
代碼如下:
jQuery("#"+id).parents(".list").remove();
替換為:
代碼如下:
jQuery("#"+id).parents(".list").slideUp("slow", function(){
jQuery(this).remove();
});
$sql="INSERT?INTO?users?(username,?psw)?VALUES($_POST['username'],$_POST['psw'])";
當(dāng)然會(huì)發(fā)生PHP的解析錯(cuò)誤。
在php里,把$_POST['username']這種東西放進(jìn)雙引號(hào)字符串里,如"hi, $_POST['name']",無(wú)法被識(shí)別。常見(jiàn)的是"hi, $name",這樣可以。
要想實(shí)現(xiàn)把$_POST數(shù)組中的值插入SQL語(yǔ)句有多種方法。
1.PHP的字符串串接操作符即“點(diǎn)”號(hào)(注意:sql中字符串要加引號(hào))
$sql?=?"INSERT?INTO?users?(username,?psw)?VALUES('".$_POST['username']."','".$_POST['psw']."')";
2.
$sql?=?"INSERT?INTO?users?(username,?psw)?VALUES('{$_POST['username']}','{$_POST['psw']}')";
3.prepared statement。較復(fù)雜但是安全。
4.字符串格式化函數(shù)sprintf
$sql?=?sprintf("INSERT?INTO?users?(username,?psw)?VALUES('%s','%s')",?$_POST['username'],?$_POST['psw']);
提醒:直接向sql語(yǔ)句中插入$_POST數(shù)組中的這些值而不經(jīng)過(guò)轉(zhuǎn)義會(huì)讓網(wǎng)頁(yè)存在極嚴(yán)重的SQL注入漏洞!解決方法:傳統(tǒng)方法是用mysql_real_escape_string,現(xiàn)代方法是用prepared statement。
不懂請(qǐng)追問(wèn),滿意請(qǐng)采納。
補(bǔ)充,你的前端似乎還有問(wèn)題。dataString 里直接插入ousername和opsw可能有問(wèn)題??赡軕?yīng)該先經(jīng)過(guò)url轉(zhuǎn)義。我記得jquery的ajax可以直接post一個(gè)json字典,這樣應(yīng)該更好。
新聞名稱:php抓取ajax數(shù)據(jù) php抓取頁(yè)面指定內(nèi)容
鏈接URL:http://jinyejixie.com/article2/doseooc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、電子商務(wù)、虛擬主機(jī)、做網(wǎng)站、網(wǎng)站設(shè)計(jì)、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)