我需要一些JSON和jquery的帮助。
我使用dhtmlx调度程序开发应用程序。我想动态创建dhtmlx部分。
我使用下面的
中给出的php json_encode函数生成json_encoded字符串["{key:23, label:'T23 (34)'}","{key:24, label:'T24 (34)'}","{key:26, label:'T26 (26)'}","{key:35, label:'T35 (25)'}"]
此
的Ajax调用函数$.ajax({
url:"updatetablestr.php",
type:"get",
data:{id:id},
dataType: 'json',
beforeSend:function(){},
success:function(q)
{
var JSONString = JSON.stringify(q);
var output=JSONString.replace(/\"/g,"");
scheduler.updateCollection("MyList",output);
}
})
PHP函数是,
$resarray=json_encode($array);
echo preg_replace('/"([a-zA-Z]+[a-zA-Z0-9_]*)":/', '$1:', $resarray);
我使用jquery
删除了第一个和最后一个引号var JSONString = JSON.stringify(q);
var output =JSONString.replace(/\"/g,"");
在这个jquery代码之后我可以得到我的输出
[{key:23, label:'T23 (34)'}","{key:24, label:'T24 (34)'}","{key:26, label:'T26 (26)'}","{key:35, label:'T35 (25)'}]
这个输出是我需要的。当我使用像
这样的静态代码时 var output= [{key:23, label:'T23 (34)'}","{key:24, label:'T24 (34)'}","{key:26, label:'T26 (26)'}","{key:35, label:'T35 (25)'}]
正在运作。当我动态实现生成的PHP时,JSON.stringify无法正常工作.. 那个时候它显示以下错误
scheduler.updateCollection("MyList",output);
"未捕获TypeError:Function.prototype.apply:参数列表类型错误" 在dhtmlxschduler.js中
虽然静态使用相同的字符串,但为什么在使用php和jquery动态生成时它不起作用..