我對.NET MVC5應用程序有一些獨特的情況,我需要通過HTTP呈現主頁/歡迎頁面/視圖,因爲有一些錨鏈接使用在大多數瀏覽器中不被視爲安全的圖像。因此,目前發生的情況是,除非您在IE中選擇「顯示所有內容」,並且在其他瀏覽器中調整其他一些設置,否則這些鏈接不是「可點擊的」。從非SSL頁面調用支持SSL的頁面
點擊一個圖片鏈接會產生一個jquery模式菜單,它將用戶引導到一個「條款和條件」模式,如果他們點擊「確認」,則調用一個帳戶控制器/ CreateGuest方法。我有用[RequireHTTPSAttribute]裝飾的帳戶控制器,所以此資源需要HTTPS請求。
這是一把雙刃劍,因爲我的基礎控制器加載主頁/歡迎頁面視圖需要HTTP,因爲圖像鏈接,所以這需要保持非SSL。我想我的問題是,如果有什麼,可以做什麼來加密帳戶/ CreateGuest的「條款和條件」AJAX調用?由於JavaScript的同源策略,我沒有看到太多的解決方法。或者更好的是,有什麼方法可以使我的圖像鏈接「安全」?
下面是一些代碼:
我想使「安全」的鏈接二,如果在所有可能的。很簡單:
<div class="row">
<div class="col-xs-12 homespacer">
<div class="col-xs-2 hometype" style="text-align:right;">Some text</div>
<div class="col-xs-4 nopad">
<a id="Type1" value="1" href='#'>
<img style="width: 300px; float: left" src='@Url.Content("~/Images/theimage1.jpg")' />
</a>
</div>
<div class="col-xs-4 nopad">
<a id="Type2" value="3" href='#'>
<img style="width: 300px; float: right" src='@Url.Content("~/Images/theimage2.jpg")' />
</a>
</div>
<div class="col-xs-2 homelabeltype">Some more text</div>
</div>
</div>
這裏的JQuery的的條款和條件 - 帳戶/ CreateGuest資源調用產生的日誌預期的錯誤:「請求的資源只能通過SSL訪問」:
// Create Guest account and project with selected type
$(function() {
$("#termsAccept").on('click', function (e) {
kendo.ui.progress($("#floatingRectangle"), true);
var id = $("#Type").val();
$.ajax({
type: "POST",
url: "/Account/CreateGuest/" + id,
data: AddAntiForgeryToken({ lt: id }),
contentType: 'application/x-www-form-urlencoded',
success: function (result) {
window.location.href = "@Url.Content("~/Project/Edit")";
},
error: function (result) {
alert('error');
}
});
})
})
任何幫助表示讚賞。