2013-12-09 37 views
0

我在我的测试床系统上执行AJAX调用时遇到问题。网站上有错误的SSL证书的Jquery Ajax

它没有域的有效SSL证书,而是使用生产系统使用的SSL证书,因为它的设置完全相同。

我猜测这是因为SSL证书不好,我的ajax请求被迫使用HTTP而不是HTTPS。

我可以确认JS首先通过HTTPS加载。

用下面的Ajax调用:

function ajaxPortfolioCall() { // catch the form's submit event 
    var edit_portfolio_form = $('#editportfolioform'); 
    $.ajax({ // create an AJAX call... 
     data: edit_portfolio_form.serialize(), // get the form data 
     type: edit_portfolio_form.attr('method'), // GET or POST 
     url: edit_portfolio_form.attr('action'), // the file to call 
     success: function (response) { // on success.. 
      $('#editportfolioform').html(response); // update the DIV 
     } 
    }); 
} 

凡URL解析为:

$(form_id).attr('action') 
"/rate-tracker/portfolio/add/" 

它试图使通过HTTP,而不是HTTPS的URL电话。

回答

0

听起来像现在的浏览器已经开始警告的mixed content blocking的问题。该链接提供了大量关于如何解决问题的信息,但总结是,如果发现混合内容(包括HTTP和HTTPS),屏幕图标将出现在某处的浏览器导航栏中。在Firefox中,它位于左侧,在Chrome上位于右侧。点击这将允许您关闭该域IIRC的阻止。

+0

所有页面通过HTTPS加载,Nginx设置为通过301状态代码将任何HTTP URL重定向到HTTPS –