今天上午我们有一个有趣的问题 - 这个问题本身是不相关这里的细节,我已经定了,但我却碰到一些奇怪的事情,对我来说,关于jQuery的。为什么这个jQuery.ajax不会引发错误?
我国内建设的网站上仅HTTPS运行,以便Apache设置为重定向任何传入HTTP请求的HTTPS等同。这个重定向工作正常。但是,我在我的软件中的错误,我试图发送以下Ajax请求:
jQuery.ajax({ type: "PUT",
url: "http://somewhere.com/cmdt/todo_lists/8457/toggle",
data: { deployment_id: 827},
dataType: "script"});
我明白,这会失败 - 我没事用jQuery不想遵循重定向。但实际的行为更加怪异:我从来没有看到xhr要求完全消失!并没有JavaScript错误!它只是失败,默默地。如果我将url更改为https或相对路径,它可以正常工作,没有问题。我的问题是,为什么不尝试发送请求?为什么它没有提出错误?
这可能是单一来源策略踢,默默失败。你应该在Chrome等浏览器虽然 – 2011-06-09 13:43:35
这不是jQuery的不_wanting_遵循重定向得到一个错误,这是在工作跨域策略:你**不能**请求(阿贾克斯)一个'https'从资源'http'页面,反之亦然。 – 2011-06-09 13:45:33