1、html(smarty中的变量,亦即php中的变量)
<{assign var="storeData" value=$search|@json_encode}>
注意,smarty中使用php系统函数要加@
2、js
function showDomainList(obj) {
var storeName = $(obj).parent().prev().prev().prev().text();
console.info(<{$storeData}>);
var storeData = JSON.stringify(<{$storeData}>);
$.ajax({
type: "post",
url: "process.php",
data: "act=show_domain_list&storeName=" + storeName + "&storeData="+storeData,//storeData是json格式
async: false,
success: function (htmltxt) {
console.info(htmltxt);
}
});
}
3、后台php取值
$storeData = json_decode($_POST['storeData'],true);
echo $storeData['type'];
exit();
过程分析: php数组经过json_encode处理,变成json格式的php字符串,
php字符串传入js中,js自动将其解析成json对象即js object,
JSON.stringify将js object处理成json格式的js字符串,切记,只有字符串可以在php和js直接传值。
js字符串到后台php文件,变成json格式的php字符串。json_decode将其解析成php对象或者数组。