當前位置:首頁 » 編程語言 » ajaxphp函數

ajaxphp函數

發布時間: 2023-03-26 08:09:54

『壹』 ajax傳值給php

javascript函數不能這樣寫,改成下面這樣:

<scripttype="text/javascript"src="jquery-1.2.6.min.js"></script>
<scripttype="text/javascript">
functionShowNumber(device)
...
</script>

『貳』 我想用AJAX實現在js里調用PHP里的函數,不知道怎麼寫啊,沒學過Ajax

AJAX其實就是HTTP的GET、POST去調用一個獨立的服務絕孫明器上的PHP文件並告,不能凱陵是調用某個文件的函數。

『叄』 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函數傳來的data值

$sql="INSERTINTOusers(username,psw)VALUES($_POST['username'],$_POST['psw'])";

當然會發生PHP的解析錯誤。


在php里,把$_POST['username']這種東西放進雙引號字元串里,如"hi, $_POST['name']",無法被識別。常見的是"hi, $name",這樣可以。

要想實現把$_POST數組中的值插入SQL語句有多種方法。


1.PHP的字元串串接操作符即「點」號(注意:sql中字元串要加引號)

$sql="INSERTINTOusers(username,psw)VALUES('".$_POST['username']."','".$_POST['psw']."')";

2.

$sql="INSERTINTOusers(username,psw)VALUES('{$_POST['username']}','{$_POST['psw']}')";

3.prepared statement。較復雜但是安全。

4.字元串格式化函數sprintf

$sql=sprintf("INSERTINTOusers(username,psw)VALUES('%s'鍵閉,'%s')",$_POST['username'],$_POST['psw']);


提醒:直接向sql語句中插入$_POST數組中的這些值而不經過轉義會絕緩讓網頁存在極嚴重的SQL注入漏洞!解決方法:傳統方法是用mysql_real_escape_string,現代方法是用prepared statement。


不懂請追問,滿意請採納。



補充,你的前端似乎還有問題。dataString 里直接插入ousername和opsw可並亮模能有問題。可能應該先經過url轉義。我記得jquery的ajax可以直接post一個json字典,這樣應該更好。

『伍』 ajax怎麼讀取後台php數據

其實就是發送一個網路請求,服務端輸出的內容就是響應的內容,如jQuery

$.ajax(
{
url:'',//請求URL
data:'',//請求時攜帶的參數
type:'',//請求方式跡物皮,GET/POST
dataType:'',//響應數據格式,text/json
success:r=>{
//請求成功時回調函數,參數r為服務端響應的內容
console.log(r);//就是你說的後螞顫台數據
},
error:()=>{
console.error('fail');//請求失姿差敗
}
}
)
//服務端響應內容

$data=[];//從資料庫中獲取的數據

echojson_encode($data);//響應客戶端,數據格式為JSON

『陸』 php函數輸出ajax列表框

check(){
var myphone = $("#myphone").val();//手機1
var friendphone = $("#friendphone").val();//手機2
$.ajax({//一個Ajax過程
type: "POST", //以post方式與後台溝通
url : "ajax.php",//與此php頁面溝通
dataType:'json',//從php返回的值以 JSON方式 解釋
data: 'myphone='+myphone+'&friendphone='+friendphone,
cache:false,
success: function(msg){//如果調用php成功,注意msg是返回的對象,這個你可以自定義
if(msg.ajaxmyphone==''){//ajaxmyphone就是數組的一個鍵值
alert('手機1不存在!');
return false;
}
if(msg.ajaxyouphone==''){//另外一個鍵值
alert('手機2不存在!'行握則);
return false;
}
}
});
}
</script>

PHP部分

首先你要把你返回的值壓製成數皮磨組 例如

echo json_encode(array('ajaxmyphone'=>$ajaxmy,'id'=>$id));
注意 json_encode 這個函數是專門把返回的檔棚數組編碼,否者返回的值,Ajax就不能得到值

忘我的回答能採納

『柒』 求解php怎麼用ajax 查了半天還是不太懂 求老個寫個簡單例子

php有內部閉悔耐函數可以直接完成ajax的功能,比如:

<?php
$f=file_get_contents("網址寫在這里");
echo$f;
?>前彎

還轎春可以用curl

『捌』 ajax post 調用PHP函數,如何實現下載文件ubuntu系統

剛剛做的項目就有這個功能
首先你不可能獲取碰老用戶下載的結果,所以你不可能知道用戶寬稿有沒有下載,或者下載完慎吵孝了沒有,不過你可以這樣:
$content="內容";
$filename='1.csv';
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=".urlencode($filename));
echo $content;
這樣做根本伺服器上根本不會創建文件,所以也就沒必要刪除。

『玖』 PHP跨域獲取json數據的方法,PHP裡面有沒有類似ajax的函數

php中的文件讀寫函數基本上都可直接支持url,也就是說你可以像操作本地文件一樣直接操作其他網站的文件(當然只是讀取,寫入是不可能的),而且沒有任何跨域限制,比如下面一行代碼就可直接讀取網路首頁的html代碼:
$bd=file_get_contents("http://www..com");
如果想獲取json數據,只需把網址換一下即可。當然,還需要做一下格式轉換,php本身就有專門的json轉換函數:
$json=json_decode(file_get_contents("網址"),true);
這樣一看,是不是比前端的ajax還要簡單百倍?!

『拾』 jquery ajax php 調用方法!

我大概明白你的意思了


是不是類似於spring mvc用url實現相關方法的調用哇,我以前在網上看到過有類似的php框架


我之前寫過一個小程序,是模擬出來這種效果的,但是是以參數形式傳過去的,你可以參考一下


js部分

$.ajax({
url:'index.php',
params:{
a:'method/delete'
}
})


index.php

<?php
if(!empty($_REQUEST['a'])){
$a=explode('/',$_REQUEST['a']);
$class=$a[0];
$method=$a[1];
//載入類
if(!class_exists($class)){
require$class.'.php';
}
//執行方法
if(function_exists($method)){
$do='$obj=new'.$class.'();';
eval($do);
$do='$obj->'.$method.'();';
eval($do);
}
}
?>
熱點內容
雙撥上傳 發布:2024-11-03 04:22:09 瀏覽:44
資料庫索引結構 發布:2024-11-03 04:02:14 瀏覽:235
xcode加密 發布:2024-11-03 03:53:45 瀏覽:225
演算法設計王曉東pdf 發布:2024-11-03 03:38:51 瀏覽:21
本地資料庫伺服器 發布:2024-11-03 03:33:07 瀏覽:332
方舟搭建伺服器多少內存 發布:2024-11-03 03:33:07 瀏覽:526
android全屏代碼 發布:2024-11-03 03:30:12 瀏覽:848
鍵入憑據存儲的密碼 發布:2024-11-03 03:30:01 瀏覽:722
設置密碼字元怎麼設置 發布:2024-11-03 03:22:50 瀏覽:26
腳本戰士是什麼意思 發布:2024-11-03 03:22:39 瀏覽:873