只要將json數(shù)據(jù)用引號引起來作為字符串傳遞給PHP【通常用ajax進行】就可以用json_decode函數(shù)解碼了。沒錯!就是這樣!但是在構(gòu)造json字符串的時候一定要仔細,如果你不經(jīng)常構(gòu)造json字符串,那么不妨用
成都創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、潮陽網(wǎng)站定制設(shè)計、自適應品牌網(wǎng)站建設(shè)、html5、商城網(wǎng)站定制開發(fā)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應式網(wǎng)頁設(shè)計等建站業(yè)務,價格優(yōu)惠性價比高,為潮陽等各大城市提供網(wǎng)站開發(fā)制作服務。
echo json_encode(array('k'=array("a"='1','2','3')))
這樣的方式,查看你需要構(gòu)造的目標字符串的json格式。這樣你就可以在js中根據(jù)你想要的結(jié)果來構(gòu)造了!
用Ajax, PHP 跟 JS 最直接的交互方式就是 Ajax。
使用 Ajax 向服務器發(fā)起網(wǎng)絡(luò)請求,PHP在后端進行處理并返回數(shù)據(jù)。
這種方法就是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
具體代碼請谷歌?AJAX
不用AJAX,最簡單就是傳個參數(shù)過去
如:function saveGame(str){
window.location.href='url?str=' + str;
}
樓上的是一種跳轉(zhuǎn)的方式。如果你想不刷新處理,獲取數(shù)據(jù)。還是用ajax 。很簡單的。給你個例子。這里我我用jquery的$.post
$.post(URL,{參數(shù)1:alue,參數(shù)2:value2},function(data){
//這里你可以處理獲取的數(shù)據(jù)。我使用是json 格式。你也可以使用其它格式?;蛘邽榭?,讓它自己判斷得了
},'json');
方法1 js的location 或 document 的url傳值
方法2 js的submit提交
方法3 js的ajax
數(shù)據(jù)可以是簡單的字符串 也可以是 json格式或 xml等
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