重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
只要将json数据用引号引起来作为字符串传递给PHP【通常用ajax进行】就可以用json_decode函数解码了。没错!就是这样!但是在构造json字符串的时候一定要仔细,如果你不经常构造json字符串,那么不妨用
站在用户的角度思考问题,与客户深入沟通,找到新巴尔虎右网站设计与新巴尔虎右网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、成都网站设计、外贸营销网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册、虚拟空间、企业邮箱。业务覆盖新巴尔虎右地区。
echo json_encode(array('k'=array("a"='1','2','3')))
这样的方式,查看你需要构造的目标字符串的json格式。这样你就可以在js中根据你想要的结果来构造了!
这种方法就是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
大致的前后端交互可以这样实现:
首先,前端js通过ajax请求后端php,请求数据推荐json格式
后端php收到请求后,解析数据并处理
后端返回处理后结果,不推荐var_dump打印,会打印多余的无用信息,返回时json_encode()转成json格式再返回
前端js收到返回值后解析json数据即可
js仅在 浏览器中运行.
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事件触发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
php给javascript传值,算是两个方法吧,
一个就是主动刷新,php把值写到页面上,比如 var a='?php echo $a;?';
另外的方法就是通过js异步去拉取,通过ajax来实现,大体过程是:js 发起一个异步请求给php程序,php返回数据库的数据,js通过接收这个数据来在做处理。
要用javascript调用php获取数据库接口,是一个很常见的前后端交互操作
通过javascript发送http请求php的API接口,php连接数据库并查询结果,最后返回出来
这样javascript就能获取到数据库的数据