本文目錄一覽:
- 1、jquery ajax php 調用方法!
- 2、thinkphp中怎麼用ajax
- 3、php 怎麼判斷是否ajax請求
- 4、如何通過php的curl模擬ajax請求,獲取其返回值
- 5、php如何獲取jquery ajax傳遞過來的值?
- 6、PHP如何調用JS函數並獲取其返回的數據?
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;
}
?
thinkphp中怎麼用ajax
thinkphp中使用ajax很簡單.主要掌握的地方有三個.
第一.tp中ajax的url需要使用大U方法.比如:$.post(“{:U(‘User/add’)}”)
第二.控制器中返回結果得第一種方法.$this-error(‘失敗’,”,true); 第三個參數為true.則發揮的是json數據.包含info.status.url三項.
第三.控制器中返回結果的第二種方法.$this-ajaxReturn(array(‘customKey1’=’customValue1′,’customKey2’=’customValue2′,’customKey3’=’customValue3’)).
掌握以上三點和ajax基本使用方法.那麼在tp中使用ajax也就掌握了.簡單的例子如下.偽代碼,或許有錯.
模板中:
script
$.post(“{:U(‘User/add’)”,{uname:xiaoming,age:15},function(data){
//data接收返回數據
if(data.status == 1){
alert(data.info);
location.href = data.url;
}else{
alert(‘錯誤’);
}
});
/script
控制器中:
public function add(){
if(IS_AJAX){
$name = I(‘post.name’,”,’trim’);
$age = I(‘post.age’,”,’trim’);
if($name $age){
//插入數據
$this-success(‘添加成功’,U(‘User/index’),true);
}else{
$this-ajaxReturn(array(
‘status’ = 0,
‘info’ = ‘大爺,您沒輸入名字’,
‘url’ = U(‘User/add’)
));
}
}else{
return false;
}
}
大概就是這樣子.至於剩下的$.ajax.$.getJson等等都是一樣的道理
php 怎麼判斷是否ajax請求
思路:在你進行ajax請求的時候,設置一個文件頭信息的變量,在php端判斷這個信息是否存在以及是否等於自己設置的值,就可以知道是否是ajax請求了。
做法:js端發送頭信息
對象.setRequestHeader(“變量名”,”變量值”);
如 xmlHttp..setRequestHeader(“X_REQUESTED_WITH”,”XMLHttpRequest”);
php端接受信息,注意此時接受的變量存在 $_SERVER[‘HTTP_變量名’];中,
如上面的例子則為$_SERVER[‘HTTP_X_REQUESTED_WITH’];
echo isset($_SERVER[‘HTTP_X_REQUESTED_WITH’])($_SERVER[‘HTTP_X_REQUESTED_WITH’]==’XMLHttpRequest’)?’it is ajax’:’it is not ajax’;
注釋:js和jquery中有些許不同,自己注意一下,再者變量名字不要衝突了
附加:如果這是你自己的網站,你只是自己區別一下的話,這樣就可以了,但是,它是防止不了別人盜用你的ajax數據的,因為這些都是可以模擬的,一個好的方法是設計session驗證之類的。
如何通過php的curl模擬ajax請求,獲取其返回值
這個需要配合js,打開一個html頁面,首先js用ajax請求頁面,返回第一個頁面信息確定處理完畢(ajax有強制同步功能),ajax再訪問第二個頁面。(或者根據服務器狀況,你可以同時提交幾個URL,跑幾個相同的頁面)
參數可以由js產生並傳遞url,php後台頁面根據URL抓頁面。然後ajax通過php,在數據庫或者是哪裡設一個標量,標明檢測到哪裡。由於前台的html頁面執行多少時候都沒問題,這樣php的內存限制和執行時間限制就解決了。
因為不會浪費大量的資源用一個頁面來跑一個瞬間500次的for循環了。(你的500次for循環死了原因可能是獲取的數據太多,大過了php限制的內存)
不過印象中curl好像也有強制同步的選項,就是等待一個抓取後再執行下一步。但是這個500次都是用一個頁面線程處理,也就是說肯定會遠遠大於30秒的默認執行時間。
php如何獲取jquery ajax傳遞過來的值?
方法和詳細的操作步驟如下:
1、第一步,安裝並配置PHP集成環境,以phpstudy為例,見下圖,轉到下面的步驟。
2、第二步,完成上述步驟後,在www目錄中創建一個新的html文件(new1.html)和一個php(ab.php)文件,見下圖,轉到下面的步驟。
3、第三步, 完成上述步驟後,html文件首先引用所需的類庫jquery文件,然後引用正文部分,以簡單的表單提交為例,見下圖,轉到下面的步驟。
4、第四步,完成上述步驟後,html的javascript-ajax部分,以上一步正文中的cilik事件為例,見下圖,轉到下面的步驟。
5、第五步,完成上述步驟後,php文件的準備部分主要使用$ _POST接受ajax傳輸的數據,並且可以返回不同類型的數據。
例如回聲結果或轉碼為json格式的json_encode數據將返回到前端進行處理,見下圖,轉到下面的步驟。
6、第六步,完成上述步驟後,結果顯示:提交表單中的內容後,無需刷新即可顯示該內容,見下圖。這樣,就解決了這個問題了。
PHP如何調用JS函數並獲取其返回的數據?
人家問的是PHP調用JS函數。。。樓主,我可以很負責的告訴你,這是不可能的。PHP是在
服務器端
運行的腳本,而JS是在瀏覽器運行的腳本,你要調用可以,直接echo個script就可以,但是獲取
返回值
是不可能的,只有讓JS把返回值通過AJAX發送給PHP才可以。
原創文章,作者:XFSR,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/142681.html