我有一个简单的AJAX调用,服务器将返回带有用数据的JSON字符串或PHP函数生成的错误消息字符串mysql_error()
.如何测试此数据是JSON字符串还是错误消息.
使用一个被调用的函数会很好,isJSON
就像你可以使用该函数instanceof
来测试某些东西是否是一个数组.
这就是我要的:
if (isJSON(data)){
//do some data stuff
}else{
//report the error
alert(data);
}
Run Code Online (Sandbox Code Playgroud) 我一直在使用wkthmltopdf在我的linux web服务器上即时将html转换为pdf文档.该程序最初需要X11或类似的X服务器才能正常运行,但是由于开发人员要求在没有GUI的服务器上运行该程序,我很确定它在静态版本中运行虚拟X服务器.我一直在使用程序的静态(独立)版本,它工作得很好!我将可执行文件放在一个文件夹中,然后运行:
./wkhtmltopdf file1.html file2.pdf
Run Code Online (Sandbox Code Playgroud)
但是我想在系统范围内安装这个程序.我使用了apt-get install wkhtmltopdf
(昨天安装),因为我在64位系统上运行,我也需要apt-get install ia32-libs
.安装后我可以找到这样的版本:
wkhtmltopdf --version
Run Code Online (Sandbox Code Playgroud)
输出:
Name:
wkhtmltopdf 0.9.9
License:
Copyright (C) 2008,2009 Wkhtmltopdf Authors.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO
WARRANTY, to the extent permitted by law.
Authors:
Written by Jakob Truelsen. Patches by Mário Silva, Benoit Garret and Emmanuel
Bouthenot.
Run Code Online (Sandbox Code Playgroud)
现在当我尝试运行通过aptitude安装的程序时,我收到以下错误:
wkhtmltopdf: cannot connect to …
Run Code Online (Sandbox Code Playgroud) conda 4.2.13 MacOSX 10.12.1
我正在尝试将包安装pip
到使用anaconda创建的新环境(虚拟). 在Anaconda文档中,它说完全没问题.它的执行方式与virtualenv相同.
激活你想要放置程序的环境,然后pip安装程序......
我在Ananconda中创建了一个空的环境,如下所示:
conda create -n shrink_venv
Run Code Online (Sandbox Code Playgroud)
激活它:
source activate shrink_venv
Run Code Online (Sandbox Code Playgroud)
然后我可以在终端看到我在我的环境中工作(shrink_venv)
.当我尝试使用pip
以下命令安装软件包时,问题就出现了:
(shrink_venv): pip install Pillow
Requirement already satisfied (use --upgrade to upgrade): Pillow in /Library/Python/2.7/site-packages
Run Code Online (Sandbox Code Playgroud)
所以我可以看到它认为从系统范围的包中满足要求.所以看起来环境工作不正常,绝对不像文档中说的那样.我在这里做错了吗?
只是一个注意事项,我知道你可以conda install
用于包裹,但我从anaconda的Pillow有一个问题,所以我想从中得到它pip
,因为文档说这很好.
产量which -a pip
:
/usr/local/bin/pip
/Users/my_user/anaconda/bin/pip
Run Code Online (Sandbox Code Playgroud)
**更新**我认为这是非常常见的问题.我发现conda env与PYTHONPATH的效果不佳.即使您正在使用conda环境,系统似乎总是在PYTHONPATH位置查看.现在,我总是unset PYTHONPATH
在使用conda环境时运行,并且它运行得更好.我在Mac上.
我有一个HTML表单,我通过ajax保存到数据库.要获取键/值对的查询字符串,我使用了非常方便的serialize
函数,如下所示:
var myData = $("form#form_id").serialize();
$.ajax({
url: "my_save_script.php",
type: "post",
data: myData,
success: function(msg){
alert(msg);
}
});
Run Code Online (Sandbox Code Playgroud)
现在我想加载一个空白表单,并使用数据库中的数据重新填充它,该数据从ajax调用作为JSON字符串传递.我已经能够获得具有正确键/值对的Javascript对象,如下所示:
data = $.parseJSON(data);
data = data[0];
Run Code Online (Sandbox Code Playgroud)
重新填充表单最简单,最优雅的方法是什么?
请记住,表单的输入元素是文本,选择,复选框和广播.输入元素的名称与数据库列的名称相同,并且是上述data
对象中键/值对的键.这就是为什么这个serialize
功能对我来说效果很好
我正在使用MySQLdb包在python中执行mysql查询.代码看起来像这样:
c=db.cursor()
c.execute("""select * from table""")
output = []
for row in c:
output.append(row[4])
Run Code Online (Sandbox Code Playgroud)
其中row[4]
包含我想要存储在output
列表中的十进制值.
问题是我得到的每一个值都是这样的:列表中Decimal('XX.XX')
我想要的output
只是XX.XX. 在脚本的末尾,我的output
列表如下所示:
[Decimal('10.02'), Decimal('20.24'), ...]
Run Code Online (Sandbox Code Playgroud)
但我需要它来包含数字,如下所示:
[10.02, 20.24, ...]
Run Code Online (Sandbox Code Playgroud)
我怎么做?
谢谢!
发生了奇怪的事情.我在Windows NOT IN查询中安装了MySQL社区服务器5.1时出现问题.当我这样做时:
select *
from table1
where date >= "2012-01-01";
Run Code Online (Sandbox Code Playgroud)
返回582行
select *
from table1
where date >= "2012-01-01"
and the_key in (select some_key from table2);
Run Code Online (Sandbox Code Playgroud)
返回15行
所以我希望以下查询将返回582 - 15 = 567行
select *
from table1
where date >= "2012-01-01"
and the_key not in (select some_key from table2);
Run Code Online (Sandbox Code Playgroud)
返回0行
为什么这个最后一个查询没有返回任何行?
我使用rsync将Web文件夹结构从本地服务器复制到远程服务器.两台服务器都是ubuntu linux.我使用以下命令,它运行良好:
rsync -az /var/www/ user@10.1.1.1:/var/www/
Run Code Online (Sandbox Code Playgroud)
本地系统和远程系统的用户名不同.根据我的阅读,可能无法保留所有文件和文件夹所有者和组.没关系,但我想保留两个服务器上都存在的www-data用户的所有者和组.
这可能吗?如果是这样,我将如何做到这一点?
**编辑**
有人提到rsync能够在这里保留远程文件同步的所有权和组:http://lists.samba.org/archive/rsync/2005-August/013203.html
**编辑2**
由于这里有许多有用的评论和答案,我最终获得了理想的效果.假设源计算机的IP是10.1.1.2,目标计算机的IP是10.1.1.1.我可以在目标机器上使用这一行:
sudo rsync -az user@10.1.1.2:/var/www/ /var/www/
Run Code Online (Sandbox Code Playgroud)
这样可以保留具有通用用户名的文件的所有权和组,例如www-data.请注意,使用rsync
without sudo
不会保留这些权限.
我刚刚在ubuntu 12.04中安装了netbeans 7.0.1,并且没有任何JAVASCRIPT支持.我没有收到任何错误,但我的.js文件只显示为常规文本文件,没有语法突出显示.
我的情况与此帖不同,因为当我转到工具 - >选项 - >其他 - >文件时,在"关联文件类型(MIME)"下我没有"text/javascript"选项.
同样在我之前安装的netbeans中,我可以右键单击我项目的"Source Files"文件夹,选择New - > other,我可以像这样创建一个新的.JS文件.但现在没有.js文件的选项.只有PHP(因为我安装了PHP插件),XML,SQL,CSS和其他一些.
另一件事,我经常在.php文件中嵌入javascript.我的嵌入式js只显示为纯文本,没有语法高亮显示.
我还检查了JS的其他插件,但没有任何东西跳出来作为解决方案.有谁知道如何启用JS文件识别和语法高亮?
谢谢!
**更新**
这个安装很奇怪(编辑文本时,按Enter键没有反应,没有行返回,没有)所以我会尝试重新安装,会更新结果.
**更新2**
从netbeans网站安装了7.1 for linux,一切运行良好.它一定是Ubuntu软件中心的错误安装.
我知道有很多关于 pytorch 中“计算 Hessian 矩阵”的内容,但据我所知,我还没有发现任何对我有用的内容。因此,为了尽可能精确,我想要的 Hessian 矩阵是损失相对于网络参数的梯度的雅可比矩阵。也称为参数的二阶导数矩阵。
我发现一些代码可以以直观的方式工作,尽管速度不应该很快。显然,它只是计算参数与参数之间的损失梯度的梯度,并且一次只计算一个(梯度的)元素。我认为逻辑绝对是正确的,但我收到了一个错误,与requires_grad
. 我是 pytorch 初学者,所以也许这是一件简单的事情,但错误似乎是说它不能接受变量的梯度env_grads
,这是之前 grad 函数调用的输出。
任何对此的帮助将不胜感激。这是错误消息后面的代码。我还打印出了该env_grads[0]
变量,因此我们可以看到它实际上是一个张量,这是上一次调用的正确输出grad
。
env_loss = loss_fn(env_outputs, env_targets)
total_loss += env_loss
env_grads = torch.autograd.grad(env_loss, params,retain_graph=True)
print(env_grads[0])
hess_params = torch.zeros_like(env_grads[0])
for i in range(env_grads[0].size(0)):
for j in range(env_grads[0].size(1)):
hess_params[i, j] = torch.autograd.grad(env_grads[0][i][j], params, retain_graph=True)[0][i, j] # <--- error here
print(hess_params)
Run Code Online (Sandbox Code Playgroud)
输出:
tensor([[-6.4064e-03, -3.1738e-03, 1.7128e-02, 8.0391e-03],
[ 7.1698e-03, -2.4640e-03, -2.2769e-03, -1.0687e-03],
[-3.0390e-04, -2.4273e-03, -4.0799e-02, -1.9149e-02],
...,
[ 1.1258e-02, -2.5911e-05, -9.8133e-02, -4.6059e-02],
[ 8.1502e-04, -2.5814e-03, …
Run Code Online (Sandbox Code Playgroud) 我一直很难完成一项非常正常的任务.我将图像上传并保存到我的Web服务器并将路径保存到MySQL数据库中的文件(这一切都正常).不起作用的是从服务器获取图像文件并通过ajax在页面上显示它.
最初我试图从数据库中检索路径,并src
使用图像路径更新标记的属性.这是有效的,但这样所有图像都在服务器上的文件夹中,人们都可以访问它们.这个不好.我只能拥有这些用户可以访问的某些用户的图片.
为了限制对这些照片的访问,我在该文件夹上添加了一个Apache指令,该指令成功地限制了访问.然后问题变成了我无法通过将src
属性设置为该路径来在浏览器中显示图像.请参阅我的帖子:https://serverfault.com/questions/425974/apache-deny-access-to-images-folder-but-still-able-to-display-via-img-on-site
最后我了解到我必须使用PHP直接从服务器读取图像数据并将此数据发送到浏览器.我使用了file_get_contents()函数,该函数用于将服务器上的图像文件(PNG)转换为字符串.我在ajax调用中将此字符串返回给浏览器.我无法得到的是: 如何使用JavaScript将此字符串转换回图像?
看到这段代码:
$.ajax({
url: get_image.php,
success: function(image_string){
//how to load this image string from file_get_contents to the browser??
}
});
Run Code Online (Sandbox Code Playgroud)