① jquery通過ajax調用php取得返回值
返回數據代碼如下:
② 怎樣通過 Ajax 觸發 PHP 跳轉頁面
執行ajax發送請求到PHP頁面,PHP是屬於伺服器端的。ajax是客戶端的。如果發送請求後需要跳轉到指定頁面,只能從客戶端發起了。也就是說要等本地返回伺服器端PHP輸出的結果文字或代碼,使用JS來判斷跳轉。文字可能看不明白,代碼吧:
html ajax頁面javascript代碼,這里使用了jquery庫:
$.ajax({
url: "test.php",
success: function(html){
if (html.error == true)location.href=html.url }
});
伺服器PHP輸出的代碼:
{error: true, url: "http://163.com/"}
③ 請問ajax有沒有辦法讓某段php代碼重新執行
php_ajax.php 要接受的信息是:刪除商品N或者添加商品N,同理現有的商品信息全部傳到服務端去更新下也行
php_ajax.php 要返回的信息是:服務端購物車的商品信息,當然也可以讓php直接把商品信息返回到cookies裡面 商品1, 商品2 (....)
--------------
瀏覽器端你這樣寫:用戶更改購物車的時候你把商品1,商品2,... 這一塊代碼全部清空,然後用ajax請求服務端的購物車信息,根據php服務端返回的商品信息重寫這一塊,當然伺服器端返回到cookies裡面就從cookies裡面取數據,這樣操作你會感覺輕松不少,也簡單不少。
--------------
為了用戶用戶體驗,用戶更改購物車的時候不要直接清空商品信息,而是等服務端返回數據的時候再清空重寫,(我上面那樣寫實便於理解)這樣就不用來來回回一個一個商品去修改了!
④ 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)
{
//.....驗證存在否,輸出
}
?>
⑤ jquery通過ajax調用php取得返回值,怎麼做
返回數據代碼如下:
⑥ 怎樣通過 Ajax 觸發 PHP 跳轉頁面
執行ajax發送請求到PHP頁面,PHP是屬於伺服器端的。ajax是客戶端的。如果發送請求後需要跳轉到指定頁面,只能從客戶端發起了。也就是說要等本地返回伺服器端PHP輸出的結果文字或代碼,使用JS來判斷跳轉。文字可能看不明白,代碼吧:
html ajax頁面javascript代碼,這里使用了jquery庫:
$.ajax({
url: "test.php",
success: function(html){
if (html.error == true)location.href=html.url }
});
⑦ 怎麼用一個ajax把一個div里的數據提交給後台的php執行呢,就是保存
寫一個jQuery的示例,假設要獲取<divid="content">123</div>的內容並保存;
up.php頁面只要向正常的表單一樣用$_POST['text']就可以獲取到傳遞過去的參數了。
⑧ 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);//返回數據
}
}
⑨ jquery ajax php 調用方法!
可以在jquery的ajax方法成功執行之後,執行相應的js代碼
例如:index.html 頁面
<script language="javascript">
var id = 10;
$.ajax({
url:'ajax.php?action=ok',
type:'post',
data:'id='+id,
async : false,
success: function(data){
//可以在這里執行相應的js代碼
$("#user_id").val(data);
}
});
</script>
<input type="text" name="user" id="user_id" value="">
<input type="button" value="點擊" onclick="check();">
ajax.php 處理頁面
<?php
if($_GET['action'] == 'ok'){
$id = $_POST['id'];
echo $id;
}
?>
⑩ AJAX發送參數到PHP頁面怎麼獲取不到
首先要確定ajax發起了請求,並且攜帶了參數。
可以使用瀏覽器的「審查元素」功能來查看非同步請求的執行狀況。
以360瀏覽器為例:
1、按下F12後會打開審查元素窗口。
本例中請求名稱為sug,攜帶了參數是kw=1。請求的方式是post請求。
如果是get請求,可以使用$_GET來獲取。
如果是post請求,可以使用$_POST來獲取。
所以本例在服務端使用$_POST['kw']即可獲取到值"1"。