【发布时间】:2010-06-18 01:22:37
【问题描述】:
我有以下代码
jQuery.getJSON(encodeURI(strUrl), {address:address,state:state, zip:zip},function(data){
alert('HELLO World!');
});
如果由于某种原因 strUrl 返回的字符串不是 JSON 格式,则回调函数永远不会被调用。有没有办法知道响应是 json 格式还是帖子中出了什么问题?
【问题讨论】:
-
我真的不认为,评估(并因此执行)一个你不能信任的结果是个好主意(你甚至不知道,如果它在语法上是正确的)!它可以做任何事情。
-
@chris_l 绝对可以,但是发生了一些错误,并且预期的结果格式错误。您应该防止这种情况发生,这是正确的,但是存在错误。请记住,“在理论上,实践和理论是相同的;在实践中,它们不是”。你应该尽可能地覆盖所有的基地。
-
@Seb 完全同意,因为我对此的态度完全一样!但在这种情况下,在我看来,好像 OP 可能 距离接受任何语法正确的 JavaScript (即使内容是恶意的)只有一步之遥。
eval不幸的是,它不仅采用 JSON 数据,还采用任何 JavaScript。所以我认为,这个警告是有道理的。 -
@chris_l 绝对是,
eval是 baaaaad :)