首页 > php教程 > php手册 > 正文

http请求失败有哪些原因

php中文网
发布: 2016-06-06 20:14:03
原创
4792人浏览过

今天被问到这个问题,被问当时毫无头绪,只非常抽象的回答了一些可能的网络问题。感觉当时的回答非常不好,下班之后就继续思考这个问题的答案。思考的问题的过程中突然想到最近才了解到的jquery.deferred,jquery.deferred对ajax请求的结果主要会进行两种情况

今天被问到这个问题,被问当时毫无头绪,只非常抽象的回答了一些可能的网络问题。感觉当时的回答非常不好,下班之后就继续思考这个问题的答案。思考的问题的过程中突然想到最近才了解到的jquery.deferred,jquery.deferred对ajax请求的结果主要会进行两种情况的处理,done和fail.想到这里,突然脑海中灵光一闪:原来这个问题考的是http状态码。到了这一步,标题中的答案突然明朗了。

接下来只要确定在所有的http状态码里面哪些是表示成功,哪些是表示失败,就可以完全解答这个问题。

网络上的一些文档里面有http状态码的描述,但是没有明确说明成功和失败,这里,我们通过代码进行一下检测。
服务器端代码http.php用来返回指定的状态吗

<?php
/**
 * Created by PhpStorm.
 * User: bandit
 * Date: 13/12/2014
 * Time: 12:09
 */
http_response_code($_REQUEST['code']);
登录后复制

通过同步的ajax请求获取成功和失败的状态码

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script src="http://blog.icodeu.com/"http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
</head>
<body>
<script type="application/javascript">
    var codes = [100,101,102,200,201,202,203,204,205,206,207,300,301,302,303,304,305,306,307,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,421,422,424,425,426,449,500,501,502,503,504,505,506,507,509,510];
    var suc = [];
    var fail = [];
    $.ajaxSetup({async:false});
    for(var i in codes){
        $.ajax({
            type: "POST",
            url: "http.php",
            data: {"code":codes[i]}
        })
                .done(function(){ suc.push(codes[i]);})
                .fail(function(){ fail.push(codes[i]);})
    }
    console.log(suc.toString());
    console.log("'-------------------------------------------');
    console.log(fail.toString());
</script>
</body>
</html>
登录后复制

通过chrome console里面返回的内容,我们就可以知道你哪些是成功的哪些是失败的。
200,201,202,203,204,205,206,207,304 VM2169:15
——————————————-
100,101,102,300,301,302,303,305,306,307,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,421,422,424,425,426,449,500,501,502,503,504,505,506,507,509,510

简单来说200范围以及304的状态码都是表示成功的,其他均表示失败。关于状态码的描述则就是我们这篇文章的答案。

萝卜简历
萝卜简历

免费在线AI简历制作工具,帮助求职者轻松完成简历制作。

萝卜简历 171
查看详情 萝卜简历

关于状态码的更详细信息请参考维基百科

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号