導航:首頁 > 編程語言 > phpajax介面

phpajax介面

發布時間:2022-09-23 11:07:03

㈠ thinkphp怎樣獲取ajax請求數據

一般將前台頁面搜索結果中,不喜歡的內容(鏈接),刪除掉,因為整個網站的編程框架式thinkphp,運用js中的ajax對頁面進行響應,調用後台php介面,實現前台和後台資料庫的同時更新.
首先我們需要做的就是在前台頁面中添加一個文本「刪除」,可以這么添加:
代碼如下:

<a href="javascript:void(0);" id= "<php>echo $val[id]</php>" class="delete" >刪除</a>
上面的html代碼的意思:就是給刪除添加一個href,這個href是個js函數,類似於超鏈接的作用,當然對於我這樣的新手在剛開始的時候會有疑惑,我們平時的超鏈接不是這樣的,網頁中很多的javascript:void(0),那程序怎麼知道用戶點擊刪除後,會響應其真正對應的js函數呢?別急,這就是為什麼會為刪除添加id以及class這樣的標簽,相信我把js中的代碼公布出來以後你就會明白了,代碼如下:
jQuery(".list a.delete").click(function(){
if(confirm("你確定要刪除嗎?")){
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("刪除失敗");
}
}
});
}
});

大家看函數的頭部:jQuery(".list a.delete").click(),jQuery後面的標簽是很重要的,這就保證了jquery很准確的響應頁面中用戶點擊的「位置」,添加的事件為click(),在click里添加響應事件的代碼:var id = jQuery(_this).attr("id");獲取a對應的id,因為這個id是我們刪除資料庫時用到的鏈接id,當然這種直接明文的方式不好,在這里只是介紹整個響應過程。調用ajax,實現非同步的運行整個過程。我們設置了js接受的是json串,這里的方式應該有很多種吧,我沒有去嘗試,大家要是有興趣可以自行嘗試一下。/Search/index.php/Jason/delete?這句話就是js去請求php的介面,php介面對用的代碼如下:
注意ajax在求php介面時的路徑,也就是delete函數必須放在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
}
}
}

相信大家對上面的代碼不會陌生吧,整個過程都是thinkphp框架內部配置完畢的.
var del = data.del;這句是接受php代碼返回來的json串中del這個key的value,進而在前台進行頁面更新和響應.

復制代碼代碼如下:
if(del == 1){//刪除成功
jQuery("#"+id).parents(".list").remove();//這句話就是後台刪除成功後,直接在前台對響應的div進行刪除,這樣性能就會很快,無需進行後台數據的重新提取至前台頁面中,
}else{//刪除失敗
alert("刪除失敗");
}
整個響應的過程就是這樣,至於效果優化,是優化和細化方面的問題,後來,身邊的同事又告訴我前台移除響應鏈接的另一個動態效果:
即將:
代碼如下:
jQuery("#"+id).parents(".list").remove();
替換為:
代碼如下:

jQuery("#"+id).parents(".list").slideUp("slow", function(){
jQuery(this).remove();
});

㈡ php 的介面通過ajax請求以後設置session值,再通過ajax調用另一個介面獲取session,但是獲取不到session

首先你要先保證session的設置是在你調用另一個介面之前;建議先分部列印一下session值,先判斷session是否寫入,從而確定問題出在哪一步

㈢ ajax介面的php文件中進行跳轉是怎麼實現的

  1. 服務端的代碼就不要做成 跳轉到另外一個頁面處理數據然後返回數據, 而是做成服務介面,直接php調用然後返回數據。

  2. 服務端只返回一個狀態碼(比如:成功,失敗等等),客戶端判斷跳轉。

  3. ,這個函數里的代碼是這樣的:

$url_referer='http://'.$domain.$_SERVER['REQUEST_URI'];
header("Location:http://{$domain}/index.php?g=Wap&m=Api&a=checkLogin&scope={$scope}&token={$token}&from=".urlencode($url_referer));
exit;

㈣ 需要一個php的前端ajax增刪改查介面

ajax使用很簡單,他屬於非同步傳輸。也就是你將以from以post或者get形式提交,換成ajax形式了。
取消from,使用ajax內的get或者post方法將當前頁的所需數據傳遞到另一個執行頁面。
jquery不錯的框架,搜索下ajax就明白了。

㈤ 用ajax請求php介面時返回php源碼

直接訪問 returndata.php 要是還是php源碼 就是你環境沒裝對

㈥ AJAX如何調用PHP介面,獲取數據在前台頁面展示

//js
$.ajax({
async: false,
url:url,//後台地址
type:'GET',
dataType:"json",
success: function(data){
//data,後台返回數據
},
error: function(){
alert("輸出錯誤");
}
});
//後台函數
public function get_content(){
$lists = M('bbs_note')->select();//獲取資料庫數據
if(!empty($lists)){
$this->ajaxReturn($lists);//返回數據
}
}

㈦ 原生ajax和php怎麼獲取api介面

js無法直接獲取第三方的數據,你可以請求同域下的PHP頁面,使用PHP去獲取數據返回給js。

㈧ 求助一AJAX請求多介面案例PHP多線程怎麼寫

用一個介面去整合就行了,AJAX請求一個介面,在這個介面裡面把獲取到的數據提交到其他介面就行了

㈨ php 怎麼使用ajax,給個例子

實現ajax需要三個文件,一個是html的表單文件,一個是js的核心文件,一個是php的後台文件。

下面的是html文件,當鍵盤按下時觸發showHint方法,在showHint方法中會有ajax的核心內容,實例化,獲取地址,獲取數據並展示等等。

復制代碼 代碼如下:

<html>
<head>
<script src="clienthint.js"></script>
</head>
<body>

<form>
First Name:
<input type="text" id="txt1"
onkeyup="showHint(this.value)">
</form>

<p>Suggestions: <span id="txtHint"></span></p>

</body>
</html>

下面是js的內容clienthint.js。

復制代碼 代碼如下:

var xmlHttp
function showHint(str)
{
if (str.length==0)
{
document.getElementById("txtHint").innerHTML=""
return
}
//獲取xmlHttpObject對象,如果為空,提示瀏覽器不支持ajax
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
//獲取url
var url="gethint.php"
url=url+"?q="+str
url=url+"&sid="+Math.random()
//回調函數,執行動作
xmlHttp.onreadystatechange=stateChanged
//open
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
//將獲取的信息插入到txtHint中
document.getElementById("txtHint").innerHTML=xmlHttp.responseText
}
}

//獲取xml對象
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}

下面是php的內容。根據ajax對象傳入的參數,獲取相應的數據。

復制代碼 代碼如下:

<?php
// Fill up array with names
$a[]="Anna";
$a[]="Brittany";
$a[]="Cinderella";
$a[]="Diana";
$a[]="Eva";
$a[]="Fiona";
$a[]="Gunda";
$a[]="Hege";
$a[]="Inga";
$a[]="Johanna";
$a[]="Jiqing";
$a[]="Kitty";
$a[]="Linda";
$a[]="Nina";
$a[]="Ophelia";
$a[]="Petunia";
$a[]="Amanda";
$a[]="Raquel";
$a[]="Cindy";
$a[]="Doris";
$a[]="Eve";
$a[]="Evita";
$a[]="Sunniva";
$a[]="Tove";
$a[]="Unni";
$a[]="Violet";
$a[]="Liza";
$a[]="Elizabeth";
$a[]="Ellen";
$a[]="Wenche";
$a[]="Vicky";
//get the q parameter from URL
$q=$_GET["q"];

//lookup all hints from array if length of q>0
if (strlen($q) > 0)
{
$hint="";
for($i=0; $i<count($a); $i++)
{
if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q))))
{
if ($hint=="")
{
$hint=$a[$i];
}
else
{
$hint=$hint." , ".$a[$i];
}
}
}
}

//Set output to "no suggestion" if no hint were found
//or to the correct values
if ($hint == "")
{
$response="no suggestion";
}
else
{
$response=$hint;
}
//output the response
echo $response;
?>

閱讀全文

與phpajax介面相關的資料

熱點內容
梁中間部位箍筋加密區 瀏覽:117
頻譜分析pdf 瀏覽:750
樂2怎麼升級安卓70 瀏覽:172
java中獲取日期 瀏覽:506
單片機74hc245 瀏覽:272
美國歷史上的總統pdf 瀏覽:751
程序員脫單實驗室靠不靠譜 瀏覽:458
php中間四位手機號 瀏覽:869
永旺app怎麼樣了 瀏覽:516
壓縮空氣流量計算軟體 瀏覽:649
智慧聊天app怎麼激活 瀏覽:924
一加換機備份到哪個文件夾 瀏覽:735
支撐pdf 瀏覽:417
java空文件夾刪除 瀏覽:587
安卓9跟81有什麼區別 瀏覽:912
n1藍寶書pdf 瀏覽:244
為什麼安卓機拍照那麼丑 瀏覽:694
伺服器綁定雲產品實例 瀏覽:313
程序員認真工作被開除 瀏覽:454
程序員送蘋果 瀏覽:143