我试图用JQuery getJSON和ajax解析以下json响应:
[{"iId":"1","heading":"Management Services","body":"<h1>Program Overview</h1><h1>January 29, 2009</h1>"}]
Run Code Online (Sandbox Code Playgroud)
我也试过它像这样转义"/"字符:
[{"iId":"1","heading":"Management Services","body":"<h1>Program Overview <\/h1><h1>January 29, 2009<\/h1>"}]
Run Code Online (Sandbox Code Playgroud)
当我使用getJSON时,它不会执行回调.所以,我用JQuery ajax尝试了如下:
$.ajax({
url: jURL,
contentType: "application/json; charset=utf-8",
dataType: "json",
beforeSend: function(x) {
if(x && x.overrideMimeType) {
x.overrideMimeType("application/j-son;charset=UTF-8");
}
},
success: function(data){
wId = data.iId;
$("#txtHeading").val(data.heading);
$("#txtBody").val(data.body);
$("#add").slideUp("slow");
$("#edit").slideDown("slow");
},//success
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("XMLHttpRequest="+XMLHttpRequest.responseText+"\ntextStatus="+textStatus+"\nerrorThrown="+errorThrown);
}
});
Run Code Online (Sandbox Code Playgroud)
ajax命中错误并警告以下内容:
XMLHttpRequest=[{"iId":"1","heading":"Management Services","body":"<h1>Program Overview </h1><h1>January 29, 2009</h1>"}]
textStatus=parseerror
errorThrown=undefined
Run Code Online (Sandbox Code Playgroud)
然后我尝试了一个简单的JQuery get调用,使用以下代码返回JSON:
$.get(jURL,function(data){
var json = eval("("+data+");");
wId = json.iId;
$("#txtHeading").val(json.heading);
$("#txtBody").val(json.body);
$("#add").slideUp("slow");
$("#edit").slideDown("slow");
})
Run Code Online (Sandbox Code Playgroud)
.get返回JSON,但无论我如何修改JSON(内容类型标题,格式的其他变体等),eval都会出现错误.
我想到的是,在JSON中返回HTML并解析它似乎存在问题.但是,我希望我可能错过了一些允许我通过JSON获取此数据的内容.有没有人有任何想法?
我正在尝试重命名当前目录中的所有文件,以便大写名称转换为更低.我试着这样做:
ls -1|gawk '{print "`mv "$0" "tolower($0)"`"}'|xargs -i -t eval {}
Run Code Online (Sandbox Code Playgroud)
我在目录中有两个文件,Y和YY -t添加用于调试,输出为:
eval `mv Y y`
xargs: eval: No such file or directory
Run Code Online (Sandbox Code Playgroud)
如果我自己执行eval,它会工作并将Y移动到y.
我知道还有其他方法可以实现这一目标,但如果可以的话,我想让它工作!干杯
我正在尝试读取格式如下的配置文件:
USER = username
TARGET = arrows
Run Code Online (Sandbox Code Playgroud)
我意识到,如果我摆脱了空间,我可以简单地获取配置文件,但出于安全考虑,我试图避免这种情况.我知道有一种方法可以逐行读取配置文件.我认为这个过程是这样的:
在那之后,我迷路了.任何和所有的帮助将不胜感激.我尝试过这样的事情没有成功:
backup2.config>cat ~/1
grep '^[^#].*' | while read one two;do
echo $two
done
Run Code Online (Sandbox Code Playgroud)
我从我发现的论坛帖子中删除了它,但不知道如何修改它以满足我的需求,因为我是shell脚本的新手.
是否可以通过循环遍历两个数组来自动分配变量?
for (( i = 0 ; i < ${#VALUE[@]} ; i++ ))
do
"${NAME[i]}"=VALUE[i]
done
echo $USER
Run Code Online (Sandbox Code Playgroud)
这样调用$ USER会输出"用户名"?上面的代码不起作用,但我知道解决方案与此类似.
我是Eclipse的新手.
在Objective-C中,我可以使用此命令在控制台窗口中打印对象的值.
po nameOfValue
Run Code Online (Sandbox Code Playgroud)
也许gdb命令.我现在正在使用Eclipse,这与Eclipse中的相同之处是什么?
PS我正在调试一个Java应用程序.
假设我在脚本中有一堆R代码,我想将从.GlobalEnv运行的所有R代码与错误和警告消息一起记录到平面文件或数据库中.我可以编写一个简单的logme函数,如下所示,或者通过更改来获取错误使其更复杂一些options(error = mylogginfunction)
mylogfile <- tempfile()
logme <- function(x){
mode <- "at"
if(!file.exists(mylogfile)){
mode <- "wt"
}
myconn <- file(mylogfile, mode)
writeLines(x, myconn)
close(myconn)
invisible()
}
logme(sprintf("%s: started some yadayada, ", Sys.time()))
x <- 10
x * 7
logme(sprintf("%s: done with yadayada", Sys.time()))
## Get the log
cat(readLines(mylogfile))
Run Code Online (Sandbox Code Playgroud)
日志打印出来: 2015-05-14 17:24:31:开始一些yadayada,2015-05-14 17:24:31:用yadayada完成
但我想要的是,日志文件记下了执行的表达式,而不必在每个语句周围编写包装器.我希望日志看起来像. 2015-05-14 17:24:31:开始一些yadayada, x < - 10,x*7 2015-05-14 17:24:31:用yadayada完成
所以我的问题是,如何获取R正在执行的内容,以便我可以将执行的表达式存储在日志/数据库中.而且无需在每个表达式之前编写函数调用(如myhandler(x < - 10); myhandler(x*10)).对此有何帮助?
如果代码相同,则之间似乎存在差异:
include 'external.php';
和
eval('?>' . file_get_contents('external.php') . '<?php');
有什么不同?有人知道吗?
我知道这两个是不同的,因为include工作正常,并eval给出一个错误.当我最初问这个问题时,我不确定它是否在所有代码上或者仅在我的代码上发生错误(并且由于代码被eval编辑,因此很难找出错误的含义).但是,在研究了答案之后,事实证明,无论你是否得到错误都不依赖于代码external.php,但确实取决于你的php设置(short_open_tag确切地说).
我在bash脚本中有与此类似的命令:
eval "( java -classpath ./ $classname ${arguments[@]} $redirection_options $file )" &
pid=$!
Run Code Online (Sandbox Code Playgroud)
但是,如果我这样做,ps $pid它会显示主脚本进程而不是java程序的进程.
当我省略eval时,它获得了正确的过程,但为了使一些复杂的参数正常工作,我需要使用它.
知道如何在eval命令中执行时获取java程序的PID吗?
在查看其他人的Clojure代码时,我偶尔会看到一个定义的函数defn,然后使用var-quote语法调用,例如:
user> (defn a [] 1)
#'user/a
user> (a) ; This is how you normally call a function
1
user> (#'a) ; This uses the var-quote syntax and produces the same result
1
Run Code Online (Sandbox Code Playgroud)
对于我的生活,我无法弄清楚这两种调用函数的方式之间的区别.我在评估文档中找不到任何内容来说明当调用的操作符是var时会发生什么,这可能表明为什么第二种形式是首选的.他们似乎都对binding作业和语法引用作出了相同的回应.
那么,能不能请人提供一个代码示例,将说明之间的区别(a)和(#'a)上面?
编辑:我知道var-quote可以用于获取被let词法绑定所遮蔽的var ,但在我正在查看的代码中似乎并非如此.
我知道使用eval()通常意味着错误的代码,但我偶然发现了eval()函数在我无法理解的内部函数中的奇怪行为.如果我们写:
def f(a):
def g():
print(eval('a'))
return g()
Run Code Online (Sandbox Code Playgroud)
f(1)在这种情况下运行会产生一个NameError声称a未定义的声明.但是,如果我们定义
def f(a):
def g():
b = a + 1
print(eval('a'))
return g()
Run Code Online (Sandbox Code Playgroud)
然后运行f(1)打印1.
本地和全局变量发生了一些我无法理解的事情.是a只在一个局部变量g(),当它被"拿来主义"的东西?这里发生了什么?
我编写了一个函数,该函数可获取包含其他函数脚本的文件,并将这些函数存储在替代环境中,以免它们干扰整个全局环境。该代码有效,但包含以下三个实例eval(parse(...)):
# sourceFunctionHidden ---------------------------
# source a function and hide the function from the global environment
sourceFunctionHidden <- function(functions, environment = "env", ...) {
if (environment %in% search()) {
while (environment %in% search()) {
if (!exists("counter", inherits = F)) counter <- 0
eval(parse(text = paste0("detach(", environment, ")")))
counter <- counter + 1
}
cat("detached", counter, environment, "s\n")
} else {cat("no", environment, "attached\n")}
if (!environment %in% ls(.GlobalEnv, all.names = T)) {
assign(environment, new.env(), pos = .GlobalEnv)
cat("created", environment, "\n") …Run Code Online (Sandbox Code Playgroud)