js變量值傳到php過程詳解 將php解析成數據
一、總結
一句話總結:傳參數去后臺,用ajax,或者原生js方式拼接url。明白原理,洞悉系統(tǒng)是先解析php,再執(zhí)行html代碼和js代碼。
二、用ajax
1. 頁面提交數據: ajax
2. php頁面獲取參數: $val = $_POST['val']
參考代碼(jquery):
$.ajax({
type: 'POST',
url: 'save.php',
data: {val: text1obj.value}
success: function(msg){
// msg: php返回內容
/* alert(修改成功); */
window.location = window.location;
},
error:function(msg){
// 提交失敗
}
});
問題:
<SCRIPT LANGUAGE="JavaScript"> var bid=document.fenlei.bfenlei.value; <?php $sql1="select * from s_type where b_id='$bid'"; //....... ?> </SCRIPT>
如上代碼,如何把document來的bid值傳遞到下面PHP語句的bid????
解答:
不用AJAX,最簡單就是傳個參數過去
如:
function saveGame(str){
window.location.href='url?str=' + str;
}
樓上的是一種跳轉的方式。如果你想不刷新處理,獲取數據。還是用ajax 。很簡單的。給你個例子。
這里我我用jquery的$.post
$.post(URL,{參數1:alue,參數2:value2},function(data){
//這里你可以處理獲取的數據。我使用是json 格式。你也可以使用其它格式?;蛘邽榭眨屗约号袛嗟昧?
},'json');
一個是服務器端的,一個是客戶端的。
當然不行。
我不明白你為什么要用js來傳值。
你直接用url參數像這樣: test.php?bid=1 不行嗎?
用js來實現(xiàn)比較麻煩,因為你打開網頁是先執(zhí)行php后執(zhí)行js的。也就是說不管你js放在哪都是執(zhí)行完了php再執(zhí)行js。
如果你硬是要用js向php傳值這種方式的話那就要用到ajax,這要知道你的具體要求才行。
用AJAX 發(fā)送到后臺
proytype方法:
function changeshow()
{
var bid=document.fenlei.bfenlei.value;
var url = 'adm_mod_ajax.php';
var pars = 'mtype=1&mid=' + mid+'&bid='+bid;
var myAjax = new Ajax.Request(
url,
{method: 'post', parameters: pars, onComplete: showResponse}
);
}
三、洞悉系統(tǒng)是先解析php,再執(zhí)行其它代碼下的字符串拼接
這樣可以
<script>
function dailyTask(){
$('#my_daily_task_calendar').datepicker().on('changeDate.datepicker.amui', function(event) {
var dailyTaskDate=$(this).val();
var url1="{:url('task/getDailyTaskData')}";
var url2='?dailyTaskDate='+dailyTaskDate;
document.location=url1+url2;
});
}
dailyTask();
</script>
apache服務器在頁面載入的時候會先翻譯 7 var url2='?dailyTaskDate='+dailyTaskDate; 這句話。把php翻譯完了就交給瀏覽器。
這樣不行,因為php咸魚js執(zhí)行,所以js中的dailyTaskDate變量會找不到,所以php中報常量錯誤。
var dailyTaskDate=$(this).val();
document.location={:url('task/getDailyTaskData',array('dailyTaskDate'=>dailyTaskDate))};
四、ajax回調函數中刷新頁面方法

在做demo的時候回調函數不想很麻煩,只是單純的刷新下頁面就可以用location.reload(true); 這句話相當于F5鍵刷新頁面,這樣做的方法可能會耗費一定資源,但是刷新頁面還是很方便的。
下面代碼可以實現(xiàn)ajax刷新頁面,然而并沒有什么用
<script>
function dailyTask(){
$('#my_daily_task_calendar').datepicker().on('changeDate.datepicker.amui', function(event) {
var dailyTaskDate=$(this).val();
$.post("task/getDailyTaskData", { dailyTaskDate:dailyTaskDate}, function () {
document.location.reload();
});
});
}
dailyTask();
</script>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
js判斷背景圖片是否加載成功使用img的width實現(xiàn)
判斷背景圖片是否加載成功想必大家對此很陌生吧,會了之后就可以判斷css背景圖片了,具體判斷代碼如下,感興趣的朋友可以參考下哈2013-05-05
基于JavaScript實現(xiàn)一個動態(tài)脫敏指令
數據脫敏是指在不影響數據分析結果的準確性前提下,對原始數據中的敏感字段進行處理,從而降低數據敏感度和減少個人隱私風險的技術措施,下面我們就來看看如何實現(xiàn)一個動態(tài)脫敏指令吧2024-12-12
JavaScript實現(xiàn)鼠標滾輪控制頁面圖片切換功能示例
這篇文章主要介紹了JavaScript實現(xiàn)鼠標滾輪控制頁面圖片切換功能,涉及javascript事件響應及頁面元素動態(tài)操作相關實現(xiàn)技巧,需要的朋友可以參考下2017-10-10

