请教:php如何实现json的传值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教:php如何实现json的传值相关的知识,希望对你有一定的参考价值。
请问,php如何实现json的传值,如果在php的方法中直接echo出json变量,通过js就能捕捉到这个echo的变量吗?要如何实现这种功能呢?
代码都基于jquery
jsonp 可以跨域 例如:
$.ajax(url:\'example.php\',
type:\'GET\',
dataType:\'jsonp\',
jsonp:\'callback\',
success:function(data)
/*比如example.php是这样<?php
$callback=$_REQUEST[\'callback\'];
echo $callback.\'(\'.json_encode(array(\'id\'=>1)).\')\';?>
这里的data 就是 "id":1
*/
);
不跨域 ajax就可以 例如:
url:\'example.php\',
type:\'GET\',
dataType:\'json\',
success:function(data)
//这个data就是返回的json 即example.php 输出的 json
比如example.php是这样<?php echo json_encode(array(\'id\'=>1));?>
返回的json 就是 "id":1
); 参考技术A 你可以通过CURL进行传值,这个资料你可以在网上找一下 php curl
json是字符串 可以放在变量里进行传值
时间不多 希望对你有所帮助 参考技术B json是字符串,所以直接echo就可以了,js可以直接解析json数组。追问
你好,现在我有个问题,就是跨域名之间的传值问题,环境都是php的,如果我在A网站上echo(json_encode($arr)),B网站通过js就能解析我这个json变量吗?如果能,是如何操作的呀。
追答你可以用php代码 file_get_contents获取到这个json,
然后直接输出到b网页上
在网页里和数组一样操作就可以了额
比如 var arr=
for( arr……)
……
用法和数组一样,看看js的手册for的具体细节
javascript . 05 json的组成for...in 遍历对象简单数据类型与复杂数据类型的传值与传址内置对象
对象字面量 JSON
var obj = { aaa :999};
var json={"aaa":999,“bbb”:888};
”kay“:value
对象字面2??定义方法和json很像,只有一点不同,json的key 必须加“” ;
对象,数组也可以作为键值
JSON的组成
Javascript Object Notation 对象字面量的一种表现形式 ;
键名必须有双引号“”包围 ;
为什么用JSON :对于AJAX应用程序来说,JSON比XML更快更易使用 ;
JSON语法规则:JSON语法是Javascript对象表示语法的子集:
a、数据在名称/值对中
b、数据由逗号分开
c、花括号保存对象
d、方括号保存数组
JSON的值可以是:
a 、 数字(整数或浮点数)
b、 字符串(在双引号中)
c、 逻辑值(true或false)
d、数组 (在方括号中)
e、对象(在花括号中)
f、 null
for…in..遍历对象
- 由于对象本身没有length属性,所以不能用for循环遍历
1. var json = { //创建一个对象
"name" : "赵四",
"sex" : "男",
"sayHi" : function (){
console.log(json.name + ",你好!");
}
}
for (var key in json){
console.log(key);//打印键名,不打印键值
console.log(json[key]);//打印键值
}
伪代码:类
- 强类型语言是用class定义对象
- JS的ES6提到了class
传值和传址
一、简单类型数据做参数,函数内部对参数的修改不应影响外部变量
简单类型传数值。
简单数据类型保存在栈中
变量保存的事数据本身/函数调用传递的是值不是地址/压栈,先进后出/地址值:哈希值
二、复杂类型数据做参数,函数内部对参数的修改会应影响外部变量
复杂类型传地址。
简单数据类型保存在堆中
变量保存的事数据的地址
var num =1; fun(num); console.log(‘+++‘ + num ); function fun(a) { a = a *20 ; console.log(a); } var arr = [1,2,3]; fun1(arr); console.log(arr); function fun1(array) { //arr和array是指向的同一个内存地址 // 函数修改array地址内的内容,arr的内容同时也被修改 array[0] = 2; console.log(array) ;
内置对象
- JS中已经定义好的对象。创建之后可直接使用
- Date、Array、Math、Regexp(正则表达式)、Error、String、Number
- 主要学习内置对象的API,H5的方法
a) 调用者:有无调用者
b) 参数:有无,几个
c) 功能:干什么用的
d) 返回值:有无,什么类型
- 学习方法:手册,MDN
- API:应用程序接口
以上是关于请教:php如何实现json的传值的主要内容,如果未能解决你的问题,请参考以下文章