這種方法就是ajax數(shù)據(jù)傳輸,異步數(shù)據(jù)交互
創(chuàng)新互聯(lián)專注于鎮(zhèn)雄網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供鎮(zhèn)雄營銷型網(wǎng)站建設(shè),鎮(zhèn)雄網(wǎng)站制作、鎮(zhèn)雄網(wǎng)頁設(shè)計、鎮(zhèn)雄網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)服務(wù),打造鎮(zhèn)雄網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供鎮(zhèn)雄網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
//這里用到了jquery的插件,使用前需引用jquery.js
script
function?keyUp(e)?{
var?currKey=0,e=e||event;
currKey=e.keyCode||e.which||e.charCode;
//如果是空格
if(currKey?==?32){
$.ajax({
url:?'save.php',
data:?$('#id').val()
success:?function(data){
alert(data);
}
});
}
}
document.onkeyup?=?keyUp;
/script
具體代碼請谷歌?AJAX
JS向PHP傳遞數(shù)值只有兩種方法:GET和POST,GET把參數(shù)寫在URL上,例如abc.php?param=123,POST的參數(shù)在數(shù)據(jù)里面。
JS調(diào)用PHP(無論GET或者POST)一般有兩種方式,一是是用HTML窗口,使用GET的例子:
iframe src=abc.php?param=123/iframe
使用POST的例子:
form?action=abc.php?method=post?name=form1
input?type=hidden?name=param?value=123
/form
script?language=javascript
form1.param.value=123;
form1.submit();
/script
JS調(diào)用PHP(無論GET或者POST)的另外一種方式是是用AJAX,例子代碼網(wǎng)上很多,我寫一個最簡單的:
script?language=javascript
var?xmlHttp=null;
if?(window.ActiveXObject)?xmlHttp=new?ActiveXObject('Microsoft.XMLHTTP');
else?if?(window.XMLHttpRequest)?xmlHttp=new?XMLHttpRequest();
xmlHttp.onreadystatechange=handleStateChange;
xmlHttp.open('POST','abc.php');
xmlHttp.send('param=123');
function?handleStateChange(){
if?(xmlHttp.readyState==4){
if?(xmlHttp.status==200){
alert(xmlHttp.responseText);
}
}
}
/script
兩種方案:
1,如果你需要無刷新操作的話,就用AJAX異步操作就行了,將值附帶了URL地址里面讓PHP程序調(diào)用就行了。
2,如果你的頁面是可以刷新的話,可以使用HIDDEN控件來實現(xiàn),先用JS改變Hidden控件的值,然后刷新頁面,用php來讀取hidden控件的值就行了!
js僅在 瀏覽器中運行.
php 僅在服務(wù)器端運行.
2者交互, 通常通過 http get/post 協(xié)議進行交互.
因此, 要將 js 變量傳輸?shù)?php, 需通過 get/post 將參數(shù)傳入.
譬如:
script
function test(){
var x="abc";
$.ajax("test.php?x="+x);
}
/script
而 test.php 中, 通過 $_REQUEST["x"] 即可拿到j(luò)s 請求過來的變量.
追問
感覺你的答案最符合我的需求,只是我還是碰到了問題。
test.php文件中
onchange事件觸發(fā)test()函數(shù),并將賦值。
script
function test(){
var x="abc";
$.ajax("test.php?x="+x);
}
test.php文件中
echo $_REQUEST["x"]并未獲取到有效值。echo沒有輸出。
請問,這到底是什么原因。
追答
是因為 script 中并沒有輸出由 php 傳回的結(jié)果.
改成這個試試看.
1
2
3
4
5
6
script
function test(){
var x="abc";
$.ajax("test.php?x="+x),null,function(data){alert(data)});
}
/script