Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery-从服务器中获取json对象_Javascript_Jquery_Eval - Fatal编程技术网

Javascript Jquery-从服务器中获取json对象

Javascript Jquery-从服务器中获取json对象,javascript,jquery,eval,Javascript,Jquery,Eval,我的服务器以数据类型:“text”(非json)的形式从服务器返回此简单对象: 请参阅下面的内容,我想将从服务器返回的数据传递到某个库(我无法控制) 这就是我尝试过的: o.jqxGrid(JSON.stringify(data));//not working o.jqxGrid(eval(data));//not working 如何将上面的字符串转换为js对象 编辑 顺便说一句,没有“回调”:myCallBack,一切都很好。 也许我应该送点别的东西? 谢谢您唯一的选择就是使用eval

我的服务器以
数据类型:“text”
(非json)的形式从服务器返回此简单对象:

请参阅下面的内容,我想将从服务器返回的数据传递到某个库(我无法控制)

这就是我尝试过的:

 o.jqxGrid(JSON.stringify(data));//not working
 o.jqxGrid(eval(data));//not working
如何将上面的字符串转换为js对象

编辑 顺便说一句,没有“回调”:myCallBack,一切都很好。
也许我应该送点别的东西?
谢谢

您唯一的选择就是使用eval,但这是一个可怕的想法

评估不起作用的原因是需要用括号括起来

o.jqxGrid(eval('('+data+')'));
但是对来自AJAX的响应数据使用eval是危险的,并且容易出错,并且可能会导致安全问题(您完全信任生成该响应的任何东西!)


我建议改为使用标准JSON格式的对象(不引用javascript变量),然后手动使用本地变量装饰该对象。也许您可以使用特殊的关键字字符串来替换。

eval(“(“+data+”)”)
您确定要返回预期的数据(
console.log(数据)
)吗?另外,您返回文本并将其转换为JSON而不是使用
数据类型:“JSON”
的原因是什么?您的返回已经是JSON…
$。parseJSON()
是将上面的字符串转换为JS对象的方式。@Barmar:如果它不是有效的JSON,则不会。这里的字符串不是有效的JSON。我同意所有这些评论。要求客户端使用
eval
的web util似乎设计得很糟糕,并且有潜在的危险。
 o.jqxGrid(JSON.stringify(data));//not working
 o.jqxGrid(eval(data));//not working
o.jqxGrid(eval('('+data+')'));