小编Joh*_*kin的帖子

使用jQuery通过AJAX加载XHTML片段

我正在尝试使用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)

ajax xhtml jquery

9
推荐指数
1
解决办法
9718
查看次数

是否有可能超过OO?

我的问题很简单; 是否有可能过度反对对象的代码?

多少是太多了?在什么时候你为了OO而放弃了可读性和可维护性?

我是一个巨大的OO人,但有时我想知道我是否过于复杂化我的代码....

思考?

oop

8
推荐指数
1
解决办法
687
查看次数

在git中标记多个分支?

我有一个带有两个分支的git存储库; 一个用于制造/测试的代码,一个是实际的生产固件(它们几乎相同).现在是时候将一个版本发送给制造商了,所以我自然想在两个分支上放下一些合适的标签.

但是,似乎git不允许我在两个分支上放置相同的标记名称.如果我尝试单独标记分支,它会告诉我当我去标记秒分支时标记已经存在.我尝试将两个提交传递给git标签,但它也不喜欢这样.我不一定需要始终以锁步方式标记两个分支,但我不想在标记中添加随机字符以避免名称冲突.

有没有办法做我想做的事,或者我想做错事?


一个分支是制造商在设备上测试它是否正确组装的代码.另一个分支是产品中附带的代码.每个版本实际上并不是两个分支.这是该产品的第一个版本,因此是两个分支的第一个版本,因此我尝试使用'release-1.0'标记两个分支.

tags git branch collision

8
推荐指数
2
解决办法
7326
查看次数

定义一个函数a - > String,适用于没有Show的类型?

我想定义一个可以"显示"任何类型的值的函数,对于实际定义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)

haskell class

7
推荐指数
1
解决办法
295
查看次数

为什么Web框架通过FastCGI/SCGI而不是HTTP服务?

主要的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这样的协议有什么好处?

django fastcgi http scgi

7
推荐指数
1
解决办法
803
查看次数

为什么unicode()只在没有给出编码的情况下对我的对象使用str()?

我首先创建一个字符串变量,其中包含一些非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) …

python unicode encoding

6
推荐指数
2
解决办法
1084
查看次数

如何判断Windows剪贴板上的文本是否为ISO 8859或C++中的UTF-8?

我想知道是否有一种简单的方法来检测剪贴板上的文本是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)

c++ windows clipboard utf-8

6
推荐指数
1
解决办法
3450
查看次数

如何谷歌--depend?

我们从第三方供应商那里收到的最新makefile包含的规则 - 依赖于构建规则的结束,所以我想我会在Google上查找它,但尽可能地尝试,我无法说服它显示任何具有完全字符的页面--depend

我已经尝试用引号"--depend"包围它:我已经尝试过高级搜索:我已经尝试了反斜杠"\ - \ - depend"(徒劳)希望有某种未发表的正则表达式搜索可用.

我错过了一些非常明显的东西吗?

请注意,这不是关于--depend是什么的问题,我知道,这是一个关于Google如何以非常精确,以程序员为导向的文本的问题.

gcc search-engine

5
推荐指数
2
解决办法
287
查看次数

从C库调用C++函数指针

我有一个只有静态成员的类.

我想在退出时使用"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++

5
推荐指数
1
解决办法
1088
查看次数

应该在C++中声明类的顺序?

说我得到了这个C++代码:

class class1{
    class2 *x;
}

class class2{
    class1 *x;
}
Run Code Online (Sandbox Code Playgroud)

编译器会在第2行给出错误,因为它无法找到class2,如果我切换了类的顺序,则相同.我该如何解决这个问题?

c++ class

4
推荐指数
1
解决办法
1406
查看次数

C:char转换为int

从C编程语言(Brian W. Kernighan),2.7 TYPE CONVERSIONS,第43页:

"关于将字符转换为整数,有一个微妙的观点....在某些宏上,最左边的位为1的字符将转换为负整数.在其他宏上,...始终为正.为了便于携带,请指定signed如果要将非字符数据存储在char变量中,则为unsigned."

我的问题是:

  1. 为什么有人想在char中存储非char数据?(这是必要的例子真的很棒)

  2. 为什么char的整数值在转换为int时会发生变化?

  3. 你能详细说明这个可移植性问题吗?

c

4
推荐指数
2
解决办法
1499
查看次数

IE接受标题更改,为什么?

我试图在我的服务器端调试一个问题,我相信它与从浏览器发送的接受标头有关.这是我的问题,为什么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).

browser internet-explorer header http http-headers

4
推荐指数
1
解决办法
4015
查看次数

在类中使用std :: set?

我正在尝试使用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"行,或者它是否不允许?

c++ syntax

3
推荐指数
1
解决办法
314
查看次数