form.attr('action')如何获取相对url的协议以发送正确的请求

时间:2016-02-10 10:19:26

标签: javascript ajax django ssl

我的表格如下:

<form action="/staffpanel/companies/2187/update/" method="post" id="cmpForm">
...
</form>

我的js代码是:

    $(document).on('submit', '#cmpForm', function () {
        var form = $('#cmpForm');
        var actionUrl = form.attr('action');

        ajax({
             url: actionUrl,
             type: 'POST',
             processData: false,
             contentType: false,
             success: function (data) {
                ...
             }}});

我正面临这个问题,ajax使用错误的协议将请求发送到url。这段代码适用于没有SSL的本地代码,但不能通过HTTPS生成。

如何通过HTTPS处理ajax来请求!

编辑:使用.prop会提供正确的网址。我发现我的问题来自端点。 HttpResponseRedirect()返回给ajax的视图使用错误的协议很糟糕。

由于我在浏览器中调用的所有视图(即使使用了错误的协议)都正确地转换为HTTPS,它可能与NGINX conf相关吗?

0 个答案:

没有答案