一、總結(jié)
一句話總結(jié):傳參數(shù)去后臺(tái),用ajax,或者原生js方式拼接url。明白原理,洞悉系統(tǒng)是先解析php,再執(zhí)行html代碼和js代碼。
二、用ajax
1. 頁面提交數(shù)據(jù): ajax
2. php頁面獲取參數(shù): $val = $_POST['val']
參考代碼(jquery):
$.ajax({type: 'POST',url: 'save.php',data: {val: text1obj.value}success: function(msg){// msg: php返回內(nèi)容/* 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,最簡(jiǎn)單就是傳個(gè)參數(shù)過去
如:
function saveGame(str){window.location.href='url?str=' + str;}樓上的是一種跳轉(zhuǎn)的方式。如果你想不刷新處理,獲取數(shù)據(jù)。還是用ajax 。很簡(jiǎn)單的。給你個(gè)例子。
這里我我用jquery的$.post
$.post(URL,{參數(shù)1:alue,參數(shù)2:value2},function(data){//這里你可以處理獲取的數(shù)據(jù)。我使用是json 格式。你也可以使用其它格式。或者為空,讓它自己判斷得了},'json');一個(gè)是服務(wù)器端的,一個(gè)是客戶端的。
當(dāng)然不行。
我不明白你為什么要用js來傳值。
你直接用url參數(shù)像這樣: test.php?bid=1 不行嗎?
用js來實(shí)現(xiàn)比較麻煩,因?yàn)槟愦蜷_網(wǎng)頁是先執(zhí)行php后執(zhí)行js的。也就是說不管你js放在哪都是執(zhí)行完了php再執(zhí)行js。
如果你硬是要用js向php傳值這種方式的話那就要用到ajax,這要知道你的具體要求才行。
用AJAX 發(fā)送到后臺(tái)
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服務(wù)器在頁面載入的時(shí)候會(huì)先翻譯 7 var url2='?dailyTaskDate='+dailyTaskDate; 這句話。把php翻譯完了就交給瀏覽器。
這樣不行,因?yàn)閜hp咸魚js執(zhí)行,所以js中的dailyTaskDate變量會(huì)找不到,所以php中報(bào)常量錯(cuò)誤。
新聞熱點(diǎn)
疑難解答
圖片精選