我正在尝试使用jQuery的$.fn.load函数加载XHTML标记的片段,但是在尝试将新标记添加到DOM时会引发错误.我把它缩小到XML声明(<?xml...?>) - 如果我在没有声明的情况下返回静态文本,视图就可以工作.我不明白为什么会导致失败,或者责任在于jQuery,Firefox还是我的代码.
我应该如何使用jQuery将XHTML片段插入DOM?
使用$ .get不起作用 - 回调接收一个Document对象,当我尝试将其插入DOM时,我收到以下错误:
uncaught exception: Node cannot be inserted at the specified point in the hierarchy (NS_ERROR_DOM_HIERARCHY_REQUEST_ERR)
http://localhost:8000/static/1222832186/pixra/script/jquery-1.2.6.js
Line 257
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
$body = $("#div-to-fill");
$.get ("/testfile.xhtml", undefined, function (data)
{
console.debug ("data = %o", data); // data = Document
$body.children ().replaceWith (data); // error
}, 'xml');
Run Code Online (Sandbox Code Playgroud)
样品回复:
<?xml version="1.0" encoding="UTF-8"?>
<div xmlns="http://www.w3.org/1999/xhtml">
<form action="/gallery/image/edit-description/11529/" method="post">
<div>content here</div>
</form>
</div>
Run Code Online (Sandbox Code Playgroud) 我的问题很简单; 是否有可能过度反对对象的代码?
多少是太多了?在什么时候你为了OO而放弃了可读性和可维护性?
我是一个巨大的OO人,但有时我想知道我是否过于复杂化我的代码....
思考?
我有一个带有两个分支的git存储库; 一个用于制造/测试的代码,一个是实际的生产固件(它们几乎相同).现在是时候将一个版本发送给制造商了,所以我自然想在两个分支上放下一些合适的标签.
但是,似乎git不允许我在两个分支上放置相同的标记名称.如果我尝试单独标记分支,它会告诉我当我去标记秒分支时标记已经存在.我尝试将两个提交传递给git标签,但它也不喜欢这样.我不一定需要始终以锁步方式标记两个分支,但我不想在标记中添加随机字符以避免名称冲突.
有没有办法做我想做的事,或者我想做错事?
一个分支是制造商在设备上测试它是否正确组装的代码.另一个分支是产品中附带的代码.每个版本实际上并不是两个分支.这是该产品的第一个版本,因此是两个分支的第一个版本,因此我尝试使用'release-1.0'标记两个分支.
我想定义一个可以"显示"任何类型的值的函数,对于实际定义Show实例的类型具有特殊行为:
magicShowCast :: ?
debugShow :: a -> String
debugShow x = case magicShowCast x of
Just x' -> show x'
Nothing -> "<unprintable>"
Run Code Online (Sandbox Code Playgroud)
当出现问题时,这将用于向错误消息添加更详细的信息:
-- needs to work on non-Showable types
assertEq :: Eq a => a -> a -> IO ()
assertEq x y = when (x /= y)
(throwIO (AssertionFailed (debugShow x) (debugShow y)))
data CanShow = CanShow1
| CanShow 2
deriving (Eq, Show)
data NoShow = NoShow1
| NoShow2
deriving (Eq)
-- AssertionFailed "CanShow1" …Run Code Online (Sandbox Code Playgroud) 主要的Web框架(例如Django,Pyramid,Rails等)通常作为持久性服务器运行,并使用像nginx这样的单独Web服务器作为前端.Web服务器通过FastCGI或SCGI等协议连接:
browser --[http]--> nginx --[fastcgi]--> flup -> django
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎很复杂; 当后端可以运行自己的HTTP服务器时,为什么请求转换为完全不同的协议?
browser --[http]--> nginx --[http]--> wsgiref -> django
Run Code Online (Sandbox Code Playgroud)
这种方法似乎既简单又灵活,因为只有一种传输协议,它是一种RFC.
但是,我认为我从未见过一个Web框架鼓励纯http设计,所以我认为必须有一个理由.
在这里使用像FastCGI/SCGI这样的协议有什么好处?
我首先创建一个字符串变量,其中包含一些非ascii utf-8编码数据:
>>> text = 'á'
>>> text
'\xc3\xa1'
>>> text.decode('utf-8')
u'\xe1'
Run Code Online (Sandbox Code Playgroud)
使用unicode()它会引发错误......
>>> unicode(text)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0:
ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
...但如果我知道编码,我可以将它用作第二个参数:
>>> unicode(text, 'utf-8')
u'\xe1'
>>> unicode(text, 'utf-8') == text.decode('utf-8')
True
Run Code Online (Sandbox Code Playgroud)
现在,如果我有一个在该__str__()方法中返回此文本的类:
>>> class ReturnsEncoded(object):
... def __str__(self):
... return text
...
>>> r = ReturnsEncoded()
>>> str(r)
'\xc3\xa1'
Run Code Online (Sandbox Code Playgroud)
unicode(r)似乎使用str()它,因为它引起了与unicode(text) …
我想知道是否有一种简单的方法来检测剪贴板上的文本是ISO 8859还是UTF-8?
这是我目前的代码:
COleDataObject obj;
if (obj.AttachClipboard())
{
if (obj.IsDataAvailable(CF_TEXT))
{
HGLOBAL hmem = obj.GetGlobalData(CF_TEXT);
CMemFile sf((BYTE*) ::GlobalLock(hmem),(UINT) ::GlobalSize(hmem));
CString buffer;
LPSTR str = buffer.GetBufferSetLength((int)::GlobalSize(hmem));
sf.Read(str,(UINT) ::GlobalSize(hmem));
::GlobalUnlock(hmem);
//this is my string class
s->SetEncoding(ENCODING_8BIT);
s->SetString(buffer);
}
}
}
Run Code Online (Sandbox Code Playgroud) 我们从第三方供应商那里收到的最新makefile包含的规则 - 依赖于构建规则的结束,所以我想我会在Google上查找它,但尽可能地尝试,我无法说服它显示任何具有完全字符的页面--depend
我已经尝试用引号"--depend"包围它:我已经尝试过高级搜索:我已经尝试了反斜杠"\ - \ - depend"(徒劳)希望有某种未发表的正则表达式搜索可用.
我错过了一些非常明显的东西吗?
请注意,这不是关于--depend是什么的问题,我知道,这是一个关于Google如何以非常精确,以程序员为导向的文本的问题.
我有一个只有静态成员的类.
我想在退出时使用"atexit"库函数注册其成员函数之一(下面的代码中的VerifyClean).
在C++常见问题解答说,我必须指定为extern"C"为我要注册这样,就像在下面的例子中的功能.
class Example
{
public:
static void Initialize();
static void DoDirtyStuff {++dirtLevel;}
static void CleanUpStuff {--dirtLevel;}
private:
static void VerifyClean();
// DOESN'T COMPILE: extern "C" static void VerifyClean();
static int dirtLevel;
}
int Example::dirtLevel;
extern "C" void Example::VerifyClean() // DO I NEED extern "C" HERE?
{
assert(dirtLevel == 0);
}
void Example::Initialize()
{
dirtLevel = 0;
atexit(&VerifyClean);
}
Run Code Online (Sandbox Code Playgroud)
我真的必须使用extern"C"吗?
如果我将"atexit"替换为非库函数(在纯C中实现),答案是否会改变?
如果函数VerifyClean是公共的,我决定直接从C++代码调用它,我会得到链接错误或运行时崩溃吗?我问这个是因为声明根本没有提到extern"C",所以常规的C++代码可能会错误地处理函数调用.这在我的MS Visual Studio 2005系统上运行正常.
说我得到了这个C++代码:
class class1{
class2 *x;
}
class class2{
class1 *x;
}
Run Code Online (Sandbox Code Playgroud)
编译器会在第2行给出错误,因为它无法找到class2,如果我切换了类的顺序,则相同.我该如何解决这个问题?
从C编程语言(Brian W. Kernighan),2.7 TYPE CONVERSIONS,第43页:
"关于将字符转换为整数,有一个微妙的观点....在某些宏上,最左边的位为1的字符将转换为负整数.在其他宏上,...始终为正.为了便于携带,请指定signed如果要将非字符数据存储在char变量中,则为unsigned."
我的问题是:
为什么有人想在char中存储非char数据?(这是必要的例子真的很棒)
为什么char的整数值在转换为int时会发生变化?
你能详细说明这个可移植性问题吗?
我试图在我的服务器端调试一个问题,我相信它与从浏览器发送的接受标头有关.这是我的问题,为什么Internet Explorer会将"接受"标题从一个页面更改为另一个页面?我可以从javascript更改请求标头吗?
以下是一页的请求:
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-application, application/x-shockwave-flash, */*
Run Code Online (Sandbox Code Playgroud)
以下是来自其他页面的请求:
Accept: */*
Run Code Online (Sandbox Code Playgroud)
他们都是GET请求,我看到内容之间有任何重大差异.全部来自同一个应用程序服务器(Websphere).
我正在尝试使用std :: set和类进行组合,如下所示:
#include <set>
class cmdline
{
public:
cmdline();
~cmdline();
private:
set<int> flags; // this is line 14
};
Run Code Online (Sandbox Code Playgroud)
但是,它不喜欢设置标志; 部分:
cmdline.hpp:14: error: ISO C++ forbids declaration of 'set' with no type
cmdline.hpp:14: error: expected ';' before '<' token
make: *** [cmdline.o] Error 1
Run Code Online (Sandbox Code Playgroud)
据我所知,我给了一个类型(int).你是否以不同的方式编写"set variable"行,或者它是否不允许?