【问题标题】:Ajax Customizable Error Callback FunctionAjax 自定义错误回调函数
【发布时间】:2014-06-07 02:06:58
【问题描述】:

所以这个功能可以完美运行,除了我还有六个按钮并且不希望我的代码有大量重复代码。对于自定义部分,我希望每个回调都不同,例如,如果用户不是管理员等,附加“请登录”的文本会有所不同。我怎样才能为每个按钮定制这个?谢谢!

  error: (xhr, ajaxOptions, thrownError) -> 
    console.dir arguments
    console.log("*| Status ", xhr.status)
    console.log("*| Error", thrownError)
    console.log("*| Ajax", ajaxOptions)
    if (not username? or not password?)
      $('#data-text').empty()   
      $('#data-text').append ("""<h1>Please Log In</h1>""")
      $('#input_username').fadeTo(100, 0.1).fadeTo(200, 1.0);
      $('#input_password').fadeTo(100, 0.1).fadeTo(200, 1.0);
      $('#header_user').css "background-color": "#d34242"
      $('#header_password').css "background-color": "#d34242"
      $('#data-text').css "background-color": "#d38642"
    else
      $('#data-text').empty()   
      $('#data-text').append ("""<h1>Failed Log In</h1>""")
      $('#input_username').fadeTo(100, 0.1).fadeTo(200, 1.0);
      $('#input_password').fadeTo(100, 0.1).fadeTo(200, 1.0);
      $('#header_user').css "background-color": "#d34242"
      $('#header_password').css "background-color": "#d34242"
      $('#data-text').css "background-color": "#d38642"

请在 CoffeeScript 中保留代码

【问题讨论】:

    标签: javascript jquery ajax coffeescript


    【解决方案1】:

    在 CoffeeScript 中,您可以在函数中定义函数。不要让任何人告诉你 CoffeeScript 或 JavaScript 是一种函数式语言。函数是一等对象,对象可以封装其他对象。

    error: (xhr, ajaxOptions, thrownError) -> 
      console.dir(arguments)
      console.log("*| Status ", xhr.status)
      console.log("*| Error", thrownError)
      console.log("*| Ajax", ajaxOptions)
      needsAGoodName = (msg) ->
        $('#data-text').empty()   
        $('#data-text').append(msg)
        $('#input_username').fadeTo(100, 0.1).fadeTo(200, 1.0)
        $('#input_password').fadeTo(100, 0.1).fadeTo(200, 1.0)
        $('#header_user').css("background-color": "#d34242")
        $('#header_password').css("background-color": "#d34242")
        $('#data-text').css("background-color": "#d38642")
      if not username? or not password?
        needsAGoodName("""<h1>Please Log In</h1>""")
      else
        needsAGoodName("""<h1>Failed Log In</h1>""")
    

    我删除了 if 周围的括号,并将它们添加到函数调用周围以进行样式设置。无论哪种方式都可以。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-02
      • 2011-08-04
      相关资源
      最近更新 更多