Ajax调用返回301永久移动突然

Dig*_*ess 2 php api ajax json http-status-code-301

下面的代码片段工作正常,但它突然停止了,没有明显的原因

jQuery.ajax({
            url: "http://example.com/api/getstuff.php?Location="+location+"&token="+token,              
            type: 'GET',
            dataType: 'json',
            success:function(data){
            if(data.success == '0'){
                alert("success");
            }
            else
            {
            alert(data.error);
            }

        });
Run Code Online (Sandbox Code Playgroud)

当我复制从检查器调用的 api 的 url 并在浏览器中打开时,它工作正常,在开发和生产中都工作正常。有任何想法吗?

*编辑问题已修复,API 调用缺少 www,因此调用被重定向到使用 www,因此出现 301 错误。

虽然这解决了问题,但我无法解释,因为这是很久以前使用的方式,突然它停止工作了!

无论如何,我认为我应该发布修复程序,以便有人可以找到有用的。

谢谢

小智 6

当您尝试访问的资源或 url 已移动或重定向到另一个 url 时,通常会发生此错误。

在这种情况下,来自 Web 服务器的响应始终包含备用 url。

更新您的代码以将请求发送到此备用网址。

如果在响应中没有找到备用 URL,则 Web 服务器可能存在一些问题,或者 Web 服务器端未正确设置 URL 重定向。

正如您所说,当您在浏览器中打开相同的 URL 时,请仔细注意实际显示的是哪个 URL,因为如果浏览器收到来自 Web 服务器的 301 消息,它可能会默默地切换到替代 URL。