为什么ajax帖子在使用短网址时无法加载页面?

时间:2016-10-18 04:00:09

标签: javascript php jquery ajax .htaccess

为什么ajax帖子在使用短网址时无法加载页面?

当我在像这样的ajax帖子中使用短网址y.copy()

test.php

我会收到错误

<script>
function send_username_value_for_check_available() {
        $.ajax
        (
            {
                url: 'test.php',
                type: 'POST',
                data: $('#username_send_value_fid').serialize(),
                cache: false,
                success: function (data) {
                    $('#mySpan_username').show();
                    $('#mySpan_username').html(data);
                }
            }
        )
}
</script>

但是,当我使用完整网址XMLHttpRequest cannot load https://example.com/test.php. Response for preflight is invalid (redirect) 时,它的效果很好。

如何在ajax帖子中使用短网址?

2 个答案:

答案 0 :(得分:0)

您的简短网址example.com/test.php已解析为example.com
www.example.comexample.com被视为不同的域名。因此,ajax请求被视为跨域调用 尝试使用www.example.com标题在您的脚本中授权Access-Control-Allow-Origin和/或header("Access-Control-Allow-Origin: https://example.com"); (您应该避免允许&#39; *&#39;)。使用php:

{{1}}

了解更多信息:
- &#34; CORS响应标头&#34;可能是搜索关键字,可以帮助您解决这个问题 - 另外看看这个答案:https://stackoverflow.com/a/8689332/3872061

答案 1 :(得分:0)

我认为这与使用短URK问题的AJAX无关......

您必须允许来自您的服务器的CORS用于此域并且它将起作用

http://enable-cors.org/server_php.html