小编Mat*_*man的帖子

为什么浏览器在AJAX请求返回后没有设置cookie?

我正在使用$ .ajax发出ajax请求.响应已设置Set-Cookie标头(我已在Chrome开发工具中对此进行了验证).但是,浏览器在收到响应后没有设置cookie!当我导航到我的域中的另一个页面时,不会发送cookie.(注意:我没有做任何跨域的ajax请求;请求与文档位于同一个域中.)

我错过了什么?

编辑:这是我的ajax请求的代码:

$.post('/user/login', JSON.stringify(data));
Run Code Online (Sandbox Code Playgroud)

以下是Chrome开发工具显示的请求:

Request URL:https://192.168.1.154:3000/user/login
Request Method:POST
Status Code:200 OK

Request Headers:
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:35
Content-Type:application/x-www-form-urlencoded; charset=UTF-8
DNT:1
Host:192.168.1.154:3000
Origin:https://192.168.1.154:3000
Referer:https://192.168.1.154:3000/
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36
X-Requested-With:XMLHttpRequest

Form Data:
{"UserId":"blah","Password":"blah"}:
Run Code Online (Sandbox Code Playgroud)

响应:

Response Headers:
Content-Length:15
Content-Type:application/json; charset=UTF-8
Date:Sun, 16 Mar 2014 03:25:24 GMT
Set-Cookie:SessionId=MTM5NDk0MDMyNHxEdi1CQkFFQ180SUFBUkFCRUFBQVRfLUNBQUVHYzNSeWFXNW5EQXNBQ1ZObGMzTnBiMjVKWkFaemRISnBibWNNTGdBc1ZFcDNlU3RKVFdKSGIzQlNXRkkwVjJGNFJ6TlRVSHA0U0ZJd01XRktjMDF1Y1c1b2FGWXJORzV4V1QwPXwWf1tz-2Fy_Y4I6fypCzkMJyYxhgM3LjVHGAlKyrilRg==; HttpOnly
Run Code Online (Sandbox Code Playgroud)

cookies ajax

47
推荐指数
3
解决办法
4万
查看次数

32位至16位浮点转换

我需要一个跨平台的库/算法,它将在32位和16位浮点数之间进行转换.我不需要使用16位数进行数学运算; 我只需要减小32位浮点数的大小,以便它们可以通过网络发送.我在C++工作.

我理解我会失去多少精确度,但这对我的应用来说是可以的.

IEEE 16位格式会很棒.

c++ networking ieee-754

37
推荐指数
6
解决办法
6万
查看次数

有没有办法从C++中区分文件?

我正在寻找一个C或C++差异库.我知道我可以将Unix diff工具与system或结合使用exec,但我真的想要一个库.如果库可以执行补丁也很方便,比如Unix patch工具.

c c++ diff patch

29
推荐指数
2
解决办法
2万
查看次数

管道与临时文件

两者之间是否有很大的性能差异:

  • 处理写入临时文件,处理B读取该文件
  • 处理写入管道,并从该管道读取进程B.

我很想知道Windows和*nix的答案是什么.

编辑:我应该问:缓冲区缓存是否消除了临时文件和管道之间的区别?

pipe temporary-files

29
推荐指数
2
解决办法
1万
查看次数

如何在函数式语言中实现哈希表?

有没有办法在纯函数式语言中有效地实现哈希表?似乎对哈希表的任何更改都需要创建原始哈希表的副本.我肯定错过了什么.散列表是非常重要的数据结构,如果没有它们,编程语言就会受到限制.

functional-programming hashtable

24
推荐指数
3
解决办法
4700
查看次数

如何在Windows上禁用调试断言对话框?

我有一堆单元测试,我在批处理模式下运行.有时候,一个会因为从Visual C++库触发的调试断言而崩溃.这会导致弹出一个对话框,单元测试将停止运行,直到我单击"确定"关闭对话框.

如何让C++程序在遇到断言时崩溃(比如在Linux上),而不是弹出讨厌的对话框?

注意:我不想禁用断言; 只是对话框.

c++ winapi visual-studio

17
推荐指数
2
解决办法
5908
查看次数

为什么成员函数temporaries没有绑定到正确的类型?

假设我们有以下基类和派生类:

#include <string>
#include <iostream>

class Car {
public:
    void Drive() { std::cout << "Baby, can I drive your car?" << std::endl; }
};

class Porsche : public Car {
};
Run Code Online (Sandbox Code Playgroud)

..还有以下模板功能:

template <typename T, typename V>
void Function(void (T::*m1)(void), void (V::*m2)(void)) {
    std::cout << (m1 == m2) << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

为什么使用GCC编译:

int main(int argc, char** argv) {
    void (Porsche::*ptr)(void) = &Porsche::Drive;
    Function(ptr, ptr);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

......但不是吗?

int main(int argc, char** argv) {
    void (Porsche::*ptr)(void) = &Porsche::Drive;
    Function(&Porsche::Drive, ptr); …
Run Code Online (Sandbox Code Playgroud)

c++ templates

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

为什么Selenium找不到动态添加的DOM元素?

我用jQuery添加了一个DOM元素(一个链接).我可以在Firebug中看到该元素,但由于某种原因,Selenium无法找到它.这里发生了什么?

注意:不涉及AJAX,因此几乎可以立即添加DOM元素.

==编辑==

这是一些代码(使用jQuery),它将一个链接附加到文档的末尾:

$element = $("<a id="foo" href="#"></a>");
$element.appendTo($("body"));
Run Code Online (Sandbox Code Playgroud)

我正在使用Capybara(使用Selenium)查找链接并单击它,如下所示:

find("#foo").click
Run Code Online (Sandbox Code Playgroud)

在我开始使用jQuery向DOM添加元素之前,我对Capybara或Selenium没有任何问题.

javascript jquery selenium capybara

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

Kqueue常规文件

kqueue(在OS X上)是否对读/写常规文件有用?我知道,epoll的是不是在Linux上常规文件有用的,所以我想知道如果同样是kqueue的事实.

编辑:我不是指读/写文件,显然read()和write()都是为了这个.我的意思是,"kqueue实际上对检测文件何时可读/可写有用吗?"

c sockets macos operating-system kqueue

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

如何在OS X Mavericks上使用Clang设置自定义C入口点?

我有以下程序:

#include <stdio.h>

int bob() {
    printf("bob\n");
    return 0;
}

int main() {
    printf("main\n");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在Linux上,我可以通过以下方式启用自定义入口点:

gcc test.c -Wl,-e,bob
Run Code Online (Sandbox Code Playgroud)

当我运行生成的程序时,我得到:

./a.out
bob
Run Code Online (Sandbox Code Playgroud)

但是,在OS X上,这不起作用:

clang test.c -Wl,-e,bob
./a.out
main
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一切来使这个工作.我认为这可能是一个错误.这是带有-v选项的输出:

clang test.c -Wl,-e,bob -v

Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.3.0
Thread model: posix
 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.9.0 -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -main-file-name test.c -mrelocation-model pic -pic-level 2 -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu core2 -target-linker-version 236.3 -v -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1 -fdebug-compilation-dir /Users/mfichman/jogo -ferror-limit 19 …
Run Code Online (Sandbox Code Playgroud)

c macos entry-point osx-mavericks

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