0001: response
$[0] = [string] "{\"code\":200,\"id\":121}"
0001: eval(response)
SyntaxError: invalid label
Run Code Online (Sandbox Code Playgroud)
有谁知道?
我有通过网络套接字发送的服务器消息.该消息是一个json(验证)字符串.当它到达浏览器时,我检查它是一个字符串,typeof(data)它告诉我它实际上是一个字符串.我最后这样做var some_obj = eval( '(' + data + ')' );
会给我一个Uncaught SyntaxError: Unexpected token ILLEGAL错误.
此外,在使用之前eval(),我console.log(data)和它显示正确,虽然alert(data)在对话框中不会显示任何内容.
我无法理解发生了什么.
我也试过var myJson = '{ "x": "Hello, World!", "y": [1, 2, 3] }';,然后var myObj = eval( '(' + myJson + ')' );它工作,所以我真的不明白为什么我的无法评估(解析).
通过web-socket接收的字符串是这样的:
received 37 bytes » { "cmd": "setname", "params": "ok" }
Run Code Online (Sandbox Code Playgroud)
where data = { "cmd": "setname", "params": "ok" }(我猜的typeof(data)是引号,因为是= string).
有小费吗?谢谢
edit1»使用web-socket,你必须添加一个空字符(0 ascii)并将一个转义字符(255 …
我有这样的代码:
<%# (int)Eval("Favorites") > 0 ? "<a href=\"history.aspx?visitorid=<%# Eval(\"VisitorID\") %\">Favorites</a> / " : ""%>
Run Code Online (Sandbox Code Playgroud)
我在哪里显示一个链接,如果值> 0 ..但是,当我将visitorID = <%#...%>放入另一个Eval <%时,它给了我一个错误的网址(history.aspx?visitorid =%3C%#%20Eval) #..%>
怎么逃避这个?谢谢
我有一个引用方法的变量,我用eval关键字调用该方法
a_test = "myvariable"
eval a_test
def myvariable
(...)
end
Run Code Online (Sandbox Code Playgroud)
我想将一个变量传递给方法,例如
def myvariable(var1)
(...)
end
Run Code Online (Sandbox Code Playgroud)
是否有人熟悉任何"成语"的方式来实现这一目标.做点什么
eval a_test "string_test"
Run Code Online (Sandbox Code Playgroud)
自然会失败,因为解释器将对名为"a_test"的函数进行查找
昨天我和我的一个朋友开始讨论这个问题.他习惯于使用具有eval函数的解释语言(AS3,PHP)进行编码,并习惯使用编译语言(如C++).然后,我试图向他解释,在编译语言中使用eval功能是不可能的,因为本机代码对其源代码(变量,语法,反射(在C/C++的情况下)等)一无所知,并且这样,你就不能让任何函数在没有编译的情况下实时执行源代码(并且要编译它,你需要其余的源代码,所以这是不可能的).
你怎么看?这个论点足够坚固吗?您是否会提出任何其他论据来论证为什么编译语言不能具有eval功能?(请不要发布任何内容,也不要反对eval的想法).
我正在尝试根据匹配结果将名称更改为变量...
inds_EUR = [whatever]
inds_AFR = [foo]
inds_ASN = [other]
pop=inds_EUR ##imagine this is the case
for pp in ('EUR', 'AFR', 'ASN'):
if pp in pop:
paap='inds_'+str(pp)
break
foos=eval(paap)
Run Code Online (Sandbox Code Playgroud)
我正在尝试的是将"foos"设置为传递给此表达式的列表
matches = [item for item in inds_vcf if item in foos]
Run Code Online (Sandbox Code Playgroud)
它工作,但不知道使用这个eval()表达式是否危险,这里可能是因为它使用vars()我是以正确的方式做到的吗?
提前致谢,
佩希
<asp:Label ID="lblLeaveStatus" runat="server" Font-Bold="true" Text='<%# Eval("Leave_Status").ToString() == 'A' ? 'Approved' : 'Applied' %>'></asp:Label>
Run Code Online (Sandbox Code Playgroud)
GridView在某些条件下显示特定单词的条件
有可能这样的事情可以解决 Gridview
我收到错误服务器标签没有很好地形成
我在字符串敌人的例子中得到了公式
$a = '1*2*(2+3)';
echo eval($a) // Output should be 10
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试评估此字符串并使用eval,但在PHP 7中给我这个错误不鼓励使用eval(),所以我如何评估此字符串.
假设您要使用MATLAB中定义的函数序列,并将这些函数的名称作为字符串变量.假设你已经创建了fun1,, fun2... funN,并且你还有一个字符串向量['fun1','fun2',...,'funN'].如何自动调用每个函数而不必逐个写入每个函数的名称?
看这个:
>>> eval("assert(True)")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
assert(True)
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
评估像这样的其他功能工作正常:
>>> eval("str(5)")
'5'
Run Code Online (Sandbox Code Playgroud)
那么为什么evaling断言失败?