ajax嵌入php代碼,php ajax 實現

本文目錄一覽:

php:使用ajax是怎樣和php文件連接在一起的?

通過GetXmlHttpObject()對象的一些方法和PHP通信的。比如下面這段xmlHttp=GetXmlHttpObject();

if (xmlHttp==null)

{

alert (“您的瀏覽器不支持AJAX!”);

return;

}

var url=”getcustomer.php”;

url=url+”?q=”+str;

url=url+”sid=”+Math.random();

xmlHttp.onreadystatechange=stateChanged;

xmlHttp.open(“GET”,url,true);

xmlHttp.send(null);

}

服務器端可以通過$_GET獲得變量q的值,從而作出反應

php +ajax代碼詳解 大神!

你是在瀏覽器中同時打開1.php和2.php嗎?

怎麼會有兩個表單,在不同的頁面上?

然後,你那個0.js文件是拿來做什麼的?

ajax調用PHP類庫中的函數

直接調用不可能,但可以繞過去調用

a.php

?php

$_token = md5(time());//令牌

$_SESSION[‘_TOKEN’] = $_token;

//….

?

html

form

input name=”_TOKEN” value=”?php print $_token; ?”

….

//這裡說一下令牌,令牌一般是服務器端驗證提交數據是否為合法

//與驗證碼功能差不多,不過驗證碼需要手動輸入,這個是程序內部使用

處理post

?php

if($_POST[‘_TOKEN’] == $_SESSION[‘_TOKEN’])

{

$_SESSION[‘_TOKEN’] = ”;//清除令牌,防止網絡延緩的再次提交。

}

?

然後是ajax

上面我為什麼要在你原來的程序上加入令牌呢,因為可以隨意的調用php函數是很不安全的,很容易被有心人利用,所以做一點安全保護,當然不一定絕對安全

function _new_ajax()

{

//創建XMLHTTPRequests

return xhr;

}

function _ajax(_option)//url, data, type, async

{

//初始化

if(typeof _option.url == ‘undefined’ || _option.url == ”)

{

alert(‘ajax錯誤,沒有定義請求路徑’);

return false;

}

_option.data = _option.data || {};

_option.type = _option.type || ‘GET’;

_option.async = _option.async || true;

_option.callback = _option.callback || function(){};

//開始請求

var xhr = _new_ajax();

if(typeof _option.data == ‘string’)

{

_option.url += (_option.url.match(/\?/) ? “” : “?”) + _option.data;

}

else

{

for(var i in _option.data)

{

_option.url += (_option.url.match(/\?/) ? “” : “?”) + i + ‘=’ + _option.data[i];

}

}

xhr.open(_option.type, _option.url, _option.async);

xhr.onreadystatechange = function(){

if(xhr.readyState == 4 xhr.status == 200)

{

var res = xhr.responseText;

_option.callback(res);

}

};

xhr.send(null);

xhr = null;

}

上面的是我簡單寫的,估計考慮不是很全

驗證用戶是否存在就這樣

function check_user_id()

{

document.getElementById(‘useridexist’).innerHTML = “Check the ID, Please wait…”;

var user_id = document.login.userid.value;

//這裡是上面說的,要直接使用函數庫,必須安全驗證

var _TOKEN = document.login._TOKEN.value;

_ajax({

url:’class/useridexist.php’,

data:{_TOKEN:_TOKEN, function:check_user, id:user_id},//調用php函數check_user

callback:function(res){

document.getElementById(‘useridexist’).innerHTML = res;

}

})

}

好了,準備就緒,現在看php端了

b.php

?php

if($_GET[‘_TOKEN’] == $_SESSION[‘_TOKEN’])

{

//這裡不清除令牌,因為提交post還要使用,驗證在前,提交post在後

$function = $_GET[‘function’];

if(function_exists($function))

{

$function($_GET);

}

else

{

print ‘函數’.$function.’不存在’;

}

}

//以下為函數庫

function check_user($get)

{

//…..驗證存在否,輸出

}

?

php如何和ajax搭配使用

需要先向目標Pager.php傳值:

——即應該在ajaxSubmit()函數的「 var URL=”Pager.php?active_time_start=”+start_time+”active_time_end=”+end_time;」語句上再加上改變後的sql語句,然後再在「Pager.php」文件內予以執行,然後再將其(即Pager.php)執行結果傳回!

如:var URL=”Pager.php?……end_timeSql=Sql;」

PHP中運用jQuery的Ajax跨域調用實現代碼

可以在頁面定義一個調用方法,如下:

複製代碼

代碼如下:

function

getData(){

$.getJSON(“?”,

{

“m”:”data”,//

指定php的文件名字

“act”:”getdata”,//

指定php文件中的方法

“name”:”問題兒童”//

傳入的參數

},

function(data)

{

//

獲得返回值

}

});

}

對應鏈接下(123.123.123.123)的PHP文件,一般默認先調用index.php文件,通過index.php文件內的方法處理後,轉到對應的php文件,並且找到對應的方法,執行之。

index.php代碼如下:

複製代碼

代碼如下:

?php

/**

*

入口文件

*/

$string

=

$_SERVER[“REQUEST_URI”];//

獲取訪問的url

$m

=

get_m($string);

$file_path

=

“app/”.$m.”.php”;

define(‘IS_INDEX’,true);//

阻止直接訪問app目錄

require

($file_path);

/**

*

*

獲取訪問php文件

*

@param

string

$url

*/

function

get_m($url){

$strings

=

explode(‘m=’,

$url);

$res

=

explode(“”,

$strings[1]);

return

empty($res[0])?’index’:$res[0];

}

?

data.php代碼如下:

複製代碼

代碼如下:

?php

/**

*

data文件

*/

$act

=

!empty($_GET[‘act’])

?

$_GET[‘act’]

:

”;

if

($act

==

‘getdata’)

{

$name

=

“我的名字叫:”.$_REQUEST[‘name’];

echo

$_REQUEST[“callback”].”(“.json_encode($name).”)”;

}

?

成功調用後,畫面就能獲取到返回的json數據了。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/253879.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-14 02:17
下一篇 2024-12-14 02:17

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在着手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • 怎麼寫不影響Python運行的長段代碼

    在Python編程的過程中,我們不可避免地需要編寫一些長段代碼,包括函數、類、複雜的控制語句等等。在編寫這些代碼時,我們需要考慮代碼可讀性、易用性以及對Python運行性能的影響。…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29

發表回復

登錄後才能評論