CouchDB
  1. CouchDB
  2. COUCHDB-1059

jquery couch list function and html response

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 1.0.1
    • Fix Version/s: None
    • Component/s: JavaScript View Server
    • Labels:
      None
    • Skill Level:
      Dont Know

      Description

      Calling a list function from jquery couch that returns a non json response (html in my case) fails since the return type is hardcoded as json:

      complete: function(req) {
      try

      { var resp = $.httpData(req,"json"); }

      catch(e) {

      //....

      This causes httpData to try and parse the returned data as json, by making this optional (adding returnType option to options):

      var resp = $.httpData(req, options.returnType? options.returnType:"json");

      It is solved,

      I can create a patch if required.

        Activity

        Hide
        Ronen added a comment -

        Sorry I didn't see your response up till now, I guess that your covered

        Thanks for the fix
        Ronen

        Show
        Ronen added a comment - Sorry I didn't see your response up till now, I guess that your covered Thanks for the fix Ronen
        Hide
        Jan Lehnardt added a comment -

        This would be a patch:

        diff --git a/share/www/script/jquery.couch.js b/share/www/script/jquery.couch.js
        index 9e31cef..c62ab9e 100644
        — a/share/www/script/jquery.couch.js
        +++ b/share/www/script/jquery.couch.js
        @@ -1024,8 +1024,9 @@
        options = $.extend(

        {successStatus: 200}

        , options);
        ajaxOptions = $.extend(

        {contentType: "application/json"}

        , ajaxOptions);
        errorMessage = errorMessage || "Unknown error";
        + var dataType = options.returnType ? options.returnType : "json";
        $.ajax($.extend($.extend({

        • type: "GET", dataType: "json", cache : !$.browser.msie,
          + type: "GET", dataType: dataType, cache : !$.browser.msie,
          beforeSend: function(xhr){
          if(ajaxOptions && ajaxOptions.headers){
          for (var header in ajaxOptions.headers) { @@ -1035,7 +1036,7 @@ }

          ,
          complete: function(req) {
          try

          { - var resp = httpData(req, "json"); + var resp = httpData(req, dataType); }

          catch(e) {
          if (options.error) {
          options.error(req.status, req, e);

        Show
        Jan Lehnardt added a comment - This would be a patch: diff --git a/share/www/script/jquery.couch.js b/share/www/script/jquery.couch.js index 9e31cef..c62ab9e 100644 — a/share/www/script/jquery.couch.js +++ b/share/www/script/jquery.couch.js @@ -1024,8 +1024,9 @@ options = $.extend( {successStatus: 200} , options); ajaxOptions = $.extend( {contentType: "application/json"} , ajaxOptions); errorMessage = errorMessage || "Unknown error"; + var dataType = options.returnType ? options.returnType : "json"; $.ajax($.extend($.extend({ type: "GET", dataType: "json", cache : !$.browser.msie, + type: "GET", dataType: dataType, cache : !$.browser.msie, beforeSend: function(xhr){ if(ajaxOptions && ajaxOptions.headers){ for (var header in ajaxOptions.headers) { @@ -1035,7 +1036,7 @@ } , complete: function(req) { try { - var resp = httpData(req, "json"); + var resp = httpData(req, dataType); } catch(e) { if (options.error) { options.error(req.status, req, e);
        Hide
        Jan Lehnardt added a comment -

        A patch would be great

        Show
        Jan Lehnardt added a comment - A patch would be great

          People

          • Assignee:
            Unassigned
            Reporter:
            Ronen
          • Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:

              Development