php如何接收js传来的json对象

JavaScript024

php如何接收js传来的json对象,第1张

你无法传json对象到服务端交互的,要传的只是一个字符串(Json),是个字符串!

你发的代码里是json的解析,没有多大意义,你在php页面这样调试

var_dump($_REQUEST)//输出所有数据,如果存在的话,你会看到那个参数是啥

另外,json格式,主要方便javascript解析的,而不是php擅长的内容,多数情况下,是PHP返回json数据给js.

php的数组操作函数有主要的两个json_encode()与json_decode()

从你的代码中,我不确定你用何种方式通信,ajax?

我看你用到了jQuery,那里面有个ajax,方式类似这样的:

$.ajax({

type: "post",       //methodcan be get with post or request

url: "/mySever.php",//php url

error: function(){alert('Error')},

data: {

data1:   name,

data2:   age,

}, 

datatype:"json",//json back

timeout: 5000,

success: function(msg)

{

//eval(msg)//parase here

}

})

return false

}

你的josn对象,传给js的时候,就变成对象了

比如:var test = json

//json = {"name":"中文字符串","sex":"男"}

想要得到name就用test.name即可

注意,这里用的是jquery

在js中调用php的方法是直接在script标签的src属性中嵌入要访问的php地址。

1、JS方式调用PHP文件并取得PHP中的值

举例说明:

如在页面test_json1中用下面这句调用:

<script type="text/javascript" src="/index.php/test/testjson2">  

</script>  

<script type="text/javascript" >  

    alert(jstext)  

</script> 

2、在test_json2.php中有这样一段PHP代码:

<?php  

$php_test='I come from PHP!'  

echo "var test='$php_test'"  

echo "var jstext="."'$php_test'"   

?>  

当执行test_json1.php文件时,就会调用test_json2.php文件,并将b.php文件的输出作为JS语句来执行,

所以此处会弹出一个提示框,内容为JS变量jstext的值,也就是在PHP文件中赋给jstext的值。

这样就行你看过后很简单吧以后不会可以向我一样经常到后盾人找找相关教材看看就会了,希望能帮到你,给个采纳吧谢谢