JQuery.ajax没有使用HTTPS

Rob*_*Rob 6 javascript ajax https jquery

所以,我使用.ajax方法从jQuery调用Web服务.调用该方法的页面是一个HTTPS/SSL页面,但是在进行调用时,jQuery会继续发出HTTP请求并且失败,因为服务器设置为将所有HTTP流量重定向到HTTPS ...所以301错误又回来了.

我已经检查了我的代码一百万次并尝试了一百万种方法来为ajax查询生成url参数.(使用//为亲戚,现在只需将协议https附加到网址的开头.这是我的javascript:

function add_inbound_record(serial_number, pass_fail_value)
{
   pfv = pass_fail_value.toUpperCase();
   url = location.protocol + "//" + location.hostname + "/inbound/record-                 inspection/" + serial_number + "/" + pfv;
   $.ajax({
   url:url,
   cache:false,
   });
}
Run Code Online (Sandbox Code Playgroud)

因此,当这段代码执行时,我会检查firebug中的url参数,并使用https和正确形成的URL正确显示.但是,当我执行ajax函数时,我在firebug中看到了这个:

301 MOVED PERMANENTLY

192.168.1.9

20 B

192.168.1.9:443

Response Headersview source
Connection  keep-alive
Content-Encoding    gzip
Content-Length  20
Content-Type    text/html; charset=utf-8
Date    Wed, 24 Oct 2012 17:33:34 GMT
Location    http://192.168.1.9/inbound/record-inspection/011234567890123421000000002995/P/?_=1351100020609
Server  nginx/1.1.19
Vary    Accept-Encoding

Request Headersview source
Accept  */*
Accept-Encoding gzip, deflate
Accept-Language en-us,en;q=0.5
Connection  keep-alive
Cookie  djdt=hide; csrftoken=sF9RUxrlS6IKURxOryH2d2yT05gMighn;         sessionid=9682390da4011e445931643c81be9aae
Host    192.168.1.9
Referer https://192.168.1.9/fingerprint/inspect/
User-Agent  Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:15.0) Gecko/20100101     Firefox/15.0.1
X-Requested-With    XMLHttpRequest
Run Code Online (Sandbox Code Playgroud)

正如您在引用者中看到的那样,协议是HTTPS,但响应头中的位置是HTTP?我不能为我的生活弄清楚为什么请求作为HTTP而不是HTTPS通过网络.301响应是准确的,因为它是作为HTTP进行的,因为网络服务器再次配置为仅允许HTTPS访问.有任何想法吗?

Rob*_*Rob 20

好.我搞砸了这个超过4个小时,一旦我在URL的末尾加了一个斜杠,问题就消失了,一切正常.我不知道为什么.Web服务器/ Web服务不需要斜杠来正常运行,但无论出于何种原因,这就是"修复"它的原因.感谢有用的评论家伙.