Web开发中遇到的数据传递问题(一)
来源:互联网 发布:量化股票模型软件 编辑:程序博客网 时间:2024/04/29 08:58
如何在model层js中获取control层中的数组变量?
1.在后端php文件中对数组进行json转换,也就是转成字符串的形式。
如:$task_phase_conf_json = json_encode($task_phase_conf);
如:$task_phase_conf_json = json_encode($task_phase_conf);
2.在前段js文件中,用eval()对字符串做解析。
var task_phase_conf = eval({$task_phase_conf_json});
var task_phase_conf = eval({$task_phase_conf_json});
如何将model数组变量传递到control层?
前端:<input type="checkbox" name="ids[]" value="'+json[i]['uid']+'">
后端:$ids and $str_ids = implode(',',$ids);
如何用ajax获取数组并在前端动态列出?
前端:
$.post("index.php?do=$do&view=$view&ac=ser",{u:txt_u,type:u_type},
function(json){
if(json.status === undefined){
for(var i=0;i<json.length;i++){
$('#info_ul').append('<li style="width:200px;float:left;"><input type="checkbox" name="ids[]" value="'+json[i]['uid']+'">'+json[i]['username']+'</li>');
}
}else if(json.status==2){
art.dialog.alert(json.msg);return false;
}
} ,'json')
if(json.status === undefined){
for(var i=0;i<json.length;i++){
$('#info_ul').append('<li style="width:200px;float:left;"><input type="checkbox" name="ids[]" value="'+json[i]['uid']+'">'+json[i]['username']+'</li>');
}
}else if(json.status==2){
art.dialog.alert(json.msg);return false;
}
} ,'json')
后端:
$user_info=db_factory::query(" select uid,username from ".TABLEPRE."witkey_space where email <> ‘’ and $where ");
if(!$user_info){
kekezu::echojson('查无此人','2');die();
}else{
echo JSON($user_info);die();
}
if(!$user_info){
kekezu::echojson('查无此人','2');die();
}else{
echo JSON($user_info);die();
}
Json处理函数:
/* * ************************************************************
*
* 将数组转换为JSON字符串(兼容中文)
* @param array $array 要转换的数组
* @return string 转换得到的json字符串
* @access public
*
* *********************************************************** */
function arrayRecursive(&$array, $function, $apply_to_keys_also = false) {
static $recursive_counter = 0;
if (++$recursive_counter > 1000) {
die('possible deep recursion attack');
}
foreach ($array as $key => $value) {
if (is_array($value)) {
arrayRecursive($array[$key], $function, $apply_to_keys_also);
} else {
$array[$key] = $function($value);
}
if ($apply_to_keys_also && is_string($key)) {
$new_key = $function($key);
if ($new_key != $key) {
$array[$new_key] = $array[$key];
unset($array[$key]);
}
}
}
$recursive_counter--;
}
function JSON($array) {
arrayRecursive($array, 'urlencode', true);
$json = json_encode($array);
return urldecode($json);
}
*
* 将数组转换为JSON字符串(兼容中文)
* @param array $array 要转换的数组
* @return string 转换得到的json字符串
* @access public
*
* *********************************************************** */
function arrayRecursive(&$array, $function, $apply_to_keys_also = false) {
static $recursive_counter = 0;
if (++$recursive_counter > 1000) {
die('possible deep recursion attack');
}
foreach ($array as $key => $value) {
if (is_array($value)) {
arrayRecursive($array[$key], $function, $apply_to_keys_also);
} else {
$array[$key] = $function($value);
}
if ($apply_to_keys_also && is_string($key)) {
$new_key = $function($key);
if ($new_key != $key) {
$array[$new_key] = $array[$key];
unset($array[$key]);
}
}
}
$recursive_counter--;
}
function JSON($array) {
arrayRecursive($array, 'urlencode', true);
$json = json_encode($array);
return urldecode($json);
}
0 0
- Web开发中遇到的数据传递问题(一)
- Web开发中遇到的数据传递问题(二) ——jsonp的用法
- 移动APP开发中遇到的问题(一):分享链接显示JSON格式数据
- WEB开发中遇到的问题
- web开发中遇到的问题
- Web开发过程中遇到的问题
- web开发中遇到的问题
- web开发中遇到的问题
- Web开发中遇到的问题
- Opencv开发中遇到的问题一
- android开发中遇到的问题【一】
- CE开发中可能遇到的问题(一)
- CE开发中可能遇到的问题(一)
- VC 开发中遇到的问题记录(一)
- android蓝牙开发过程中遇到的问题(一)
- mybatis 开发中遇到的问题(一)
- web 开发遇到的问题
- Web 开发中遇到的UTF-8的问题总结
- HDU2602二维
- MS SQL Server2014链接MS SQL Server 2000
- 使用fmt标签格式化输出日期和数字
- 【编译原理】TINY编译器之词法分析(二)
- Network Saboteur
- Web开发中遇到的数据传递问题(一)
- android-support-v4.jar的问题
- HDU2191多重背包
- 【cocos2d-x开发】01windows环境下搭建cocos2d-x 3.0 的基础环境
- leetcode 之 Two Sum 解题思路
- Ubuntu12.04 安装2.6.xxx内核步骤
- error:system("type d:\\1.txt");不能查看文件的内容
- HDU1114完全背包
- 第十九周工作计划表