<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                忘了之前定這么個題目是要表達什么內容,就簡單介紹下wechat項目中的錯誤處理。 ## 16.1 error的使用 說這個錯誤處理其實很簡單,有過JavaScript經驗的同學應該看到Backbonejs中定義的回調函數選項中的error參數就知道怎么寫了。 需要處理錯誤的場景都是在客戶端和服務器端通信時,在wechat中主要是save和fetch時。有一段代碼展示下就是: ~~~ registe: function(evt){ var reg_username_input = $('#reg_username'); var reg_pwd_input = $('#reg_pwd'); var reg_pwd_repeat_input = $('#reg_pwd_repeat'); var u = new User({ username: reg_username_input.val(), password: reg_pwd_input.val(), password_repeat: reg_pwd_repeat_input.val(), }); u.save(null, { success: function(model, resp, options){ g_user = resp; // 跳轉到index appRouter.navigate('index', {trigger: true}); }, error: function(model, resp, options) { alert(resp.responseText); } }); }, ~~~ 這是用戶注冊時的代碼,在save的參數的第二個參數部分添加了error的處理,具體功能就是alert出服務器端傳回來的response的內容。 那么這么錯誤是什么時候觸發的呢?正常情況下是觸發success對應的function,那么什么是正常呢?正常和錯誤在Backbone.js中是通過返回的HTTP狀態碼來區分的(應該說是jQuery或者zepto這樣下一層處理ajax的庫),jQuery中錯誤判斷的代碼是這樣的:?`if ( status >= 200 && status < 300 || status === 304 ) {`?。 因此,對應著服務端的處理就是返回非20x 和304的錯誤就行,一般客戶端的錯誤都會返回400(40x系列)這樣的錯誤,服務器端的錯誤一般都是500以上的錯誤。 對應上面的的錯誤,服務器端在使用web.py框架要這么處理: ~~~ def POST(self): data = web.data() data = json.loads(data) username = data.get("username") password = data.get("password") password_repeat = data.get("password_repeat") if password != password_repeat: # 會返回HTTP400的錯誤,內容是message的內容 raise web.BadRequest(message='兩次密碼輸入不一致') user_data = { "username": username, "password": sha1(password), "registed_time": datetime.now(), } try: user_id = User.create(**user_data) except sqlite3.IntegrityError: raise web.BadRequest(message="用戶名已存在!") user = User.get_by_id(user_id) session.login = True session.user = user result = { 'id': user_id, 'username': username, } return json.dumps(result) ~~~ 這樣就ok了。看起來都是基本的東西。 參考:?[HTTP狀態碼](http://zh.wikipedia.org/zh-cn/HTTP%E7%8A%B6%E6%80%81%E7%A0%81)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看