所以,我使用.ajax方法從jQuery調用Web服務。調用方法的頁面是一個HTTPS/SSL頁面,但是在調用時,jQuery不斷髮出HTTP請求,並且由於服務器設置爲將所有HTTP通信重定向到HTTPS而失敗,所以301錯誤正在回來。JQuery.ajax不使用HTTPS
我檢查了我的代碼一百萬次,並嘗試了一百萬種方法爲ajax查詢生成url參數。 (使用//相對現在只是附加協議HTTPS的URL的開頭這裏是我的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,
});
}
所以,這個代碼執行的時候,我檢查的螢火網址放慢參數,它顯示了。正確地以https和適當地形成的URL然而,當我執行AJAX功能我看到這在螢火:
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/01123456789/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
正如可以從引薦見上文的協議是HTTPS但在響應報頭中的位置是HTTP?我不能爲我的生活找出爲什麼請求是通過HTTP而不是HTTPS。301響應是準確的考慮我t會像HTTP一樣,因爲Web服務器再次被配置爲只允許HTTPS訪問。有任何想法嗎?
的HTTPS請求被重定向到非相當於ssl。檢查你的網絡服務器配置。 Apache(或IIS等)爲請求報告什麼? – Madbreaks
'location.protocol'確實是'https'?當您手動添加https字符串時會發生什麼? – mekwall
您是否嘗試過使用捲曲或類似方法手動測試端點? –