JS向PHP傳遞數(shù)值只有兩種方法:GET和POST,GET把參數(shù)寫在URL上,例如abc.php?param=123,POST的參數(shù)在數(shù)據(jù)里面。
為靈丘等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及靈丘網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站制作、靈丘網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
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)上很多,我寫一個(gè)最簡(jiǎn)單的:
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
這種方法就是ajax數(shù)據(jù)傳輸,異步數(shù)據(jù)交互
//這里用到了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
具體代碼請(qǐng)谷歌?AJAX
兩種方案:
1,如果你需要無刷新操作的話,就用AJAX異步操作就行了,將值附帶了URL地址里面讓PHP程序調(diào)用就行了。
2,如果你的頁面是可以刷新的話,可以使用HIDDEN控件來實(shí)現(xiàn),先用JS改變Hidden控件的值,然后刷新頁面,用php來讀取hidden控件的值就行了!
方法1:
input type="button" value="f1" onclick="f1()"
script
//方法1
function f1(){
var type = 'aaa';
window.location.href='1.php?type=' + type;
}
/script
1.php 中:
$type = $_GET['type'];
echo $type;
方法2:
script src="jquery-1.10.2.min.js"/script
script
$(document).ready(function(){
var type ='aaa';
$("button").click(function(){
$.post("4-ajax.php",{
type: type,
},
function(data,status){
alert("數(shù)據(jù):" + data + "\n狀態(tài):" + status);
});
});
});
/script
button向頁面發(fā)送 HTTP POST 請(qǐng)求,并獲得返回的結(jié)果/button
4-ajax.php中:
$type = $_POST["type"];
echo $type;
js僅在 瀏覽器中運(yùn)行.
php 僅在服務(wù)器端運(yùn)行.
2者交互, 通常通過 http get/post 協(xié)議進(jìn)行交互.
因此, 要將 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 請(qǐng)求過來的變量.
追問
感覺你的答案最符合我的需求,只是我還是碰到了問題。
test.php文件中
onchange事件觸發(fā)test()函數(shù),并將賦值。
script
function test(){
var x="abc";
$.ajax("test.php?x="+x);
}
test.php文件中
echo $_REQUEST["x"]并未獲取到有效值。echo沒有輸出。
請(qǐng)問,這到底是什么原因。
追答
是因?yàn)?script 中并沒有輸出由 php 傳回的結(jié)果.
改成這個(gè)試試看.
1
2
3
4
5
6
script
function test(){
var x="abc";
$.ajax("test.php?x="+x),null,function(data){alert(data)});
}
/script
1:HTML中的值如何傳到JS,下面假設(shè)是文件1.php
復(fù)制代碼 代碼如下:
html
body
form action="1.php"
method="post"
name:input type="text"
name="username" id="username"
rename:input
type="text" name="username1" id="username1"
input
type="button" value="submit" on CliCk="get()"
/form
/body
/html
JS假如想取文本框中用戶輸入的name值,這樣寫
復(fù)制代碼 代碼如下:
script
language='JavaScript'
function get()
{
var
n=document.getElementById('username').value;
alert
(n);
}/script
這樣的話在有調(diào)用JS
get()時(shí)就會(huì)彈出警示框,里面的內(nèi)容就是name的值。
2:假如說JS中的這個(gè)取到的name值要傳回rename的文本框中,這樣寫
復(fù)制代碼 代碼如下:
script language='JavaScript'
function get()
{
var n=document.getElementById('username').value;
document.getElementById("username1").value=n;
}/script
這樣的話在下面調(diào)用get()就會(huì)自動(dòng)顯示你上面name輸入的值。
3:PHP中取頁面的值
這個(gè)我想大家都會(huì)了吧
復(fù)制代碼 代碼如下:
?php
$name=$_REQUEST["username"];
echo
$name;
?
4:PHP的值傳回頁面
在HTML中插入PHP語言,可以調(diào)用PHP中變量的值,也可用Smarty(推薦)。
有了以上這些,不管是HTML頁面里的值還是JS中變量的值,都可以輕松的傳入PHP,當(dāng)然,PHP的值也可傳到想要的地方。
分享題目:js傳數(shù)據(jù)php js傳遞數(shù)據(jù)
轉(zhuǎn)載來源:http://muchs.cn/article32/docsopc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、云服務(wù)器、搜索引擎優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)