js僅在 瀏覽器中運行.
成都創(chuàng)新互聯主營冀州網站建設的網絡公司,主營網站建設方案,重慶App定制開發(fā),冀州h5小程序制作搭建,冀州網站營銷推廣歡迎冀州等地區(qū)企業(yè)咨詢
php 僅在服務器端運行.
2者交互, 通常通過 http get/post 協議進行交互.
因此, 要將 js 變量傳輸到 php, 需通過 get/post 將參數傳入.
譬如:
script
function test(){
var x="abc";
$.ajax("test.php?x="+x);
}
/script
而 test.php 中, 通過 $_REQUEST["x"] 即可拿到js 請求過來的變量.
追問
感覺你的答案最符合我的需求,只是我還是碰到了問題。
test.php文件中
onchange事件觸發(fā)test()函數,并將賦值。
script
function test(){
var x="abc";
$.ajax("test.php?x="+x);
}
test.php文件中
echo $_REQUEST["x"]并未獲取到有效值。echo沒有輸出。
請問,這到底是什么原因。
追答
是因為 script 中并沒有輸出由 php 傳回的結果.
改成這個試試看.
1
2
3
4
5
6
script
function test(){
var x="abc";
$.ajax("test.php?x="+x),null,function(data){alert(data)});
}
/script
JS向PHP傳遞數值只有兩種方法:GET和POST,GET把參數寫在URL上,例如abc.php?param=123,POST的參數在數據里面。
JS調用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調用PHP(無論GET或者POST)的另外一種方式是是用AJAX,例子代碼網上很多,我寫一個最簡單的:
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數據傳輸,異步數據交互
//這里用到了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
方法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("數據:" + data + "\n狀態(tài):" + status);
});
});
});
/script
button向頁面發(fā)送 HTTP POST 請求,并獲得返回的結果/button
4-ajax.php中:
$type = $_POST["type"];
echo $type;
兩種方案:
1,如果你需要無刷新操作的話,就用AJAX異步操作就行了,將值附帶了URL地址里面讓PHP程序調用就行了。
2,如果你的頁面是可以刷新的話,可以使用HIDDEN控件來實現,先用JS改變Hidden控件的值,然后刷新頁面,用php來讀取hidden控件的值就行了!
$.ajax({type:?"",url:?"",data:?"",?dataType:?"json",success:?function?(data)?{
//這里處理返回的結果
//type為數據提交的方式post或者get
//data表示要提交的數據?方式為?{name1:value1,name2:value2.....等等}
//dataType表示數據處理后返回的數據類型?一般返回json的數據類型?使用$.each進行循環(huán)操作
//success表示數據請求成功后執(zhí)行的動作
}});
本文標題:js將數據傳入php,js傳輸數據
文章路徑:http://muchs.cn/article2/hcgsic.html
成都網站建設公司_創(chuàng)新互聯,為您提供App開發(fā)、域名注冊、網站策劃、靜態(tài)網站、建站公司、服務器托管
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯