Couchbase-Lite-PhoneGap:当我尝试创建_design文档时,我收到“状态400 - 错误请求”(查看)

时间:2014-11-16 11:33:58

标签: cordova-plugins couchbase-lite couchbase-view

我一直在处理Couchbase-Lite-PhoneGap-Plugin。 我尝试使用REST API在Android模拟器中创建设计文档。但每次我收到status: 400 - Bad request消息,我都找不到我的错误。

我的代码如下;

var cblUrl = "";   
var dbName = "user"; 

var app = {

    initialize: function() {
        this.bindEvents();
    },

    bindEvents: function() {
        document.addEventListener('deviceready', this.onDeviceReady, false);
    },

    onDeviceReady: function() {

        if(window.cblite) {

            window.cblite.getURL(function(err, url) {
                if(err) {
                    console.log("error launching Couchbase Lite: " + err);
                } else {
                    console.log("Couchbase Lite running at " + url);
                    cblUrl = url;
                }
            });

        } else {
            console.log("error, Couchbase Lite plugin not found.");
        }

        // jQuery Main function
        $(function() {

            $("#connect").on("tap", function() {

                $.ajax({
                    url: cblUrl + '_all_dbs',
                    type: 'GET',                   
                    success: function (data, textStatus, xhr) {

                        if (data.indexOf(dbName) == -1) {  // db doesn't exist

                            // create a database (bucket)
                            $.ajax({
                                url: cblUrl + dbName,
                                type: 'PUT',                   
                                async: true,
                                success: function (data, textStatus, xhr) {

                                    console.log(xhr.status);

                                },
                                error: function (xhr, statusText, errorThrown) {
                                    console.log(xhr.status);
                                }
                            }); 

                        } else { 
                            console.log("db exists");
                        }

                    },
                    error: function (xhr, statusText, error) {
                        console.log(xhr.status);
                    }
                });

            }); // #connect tap

            // create button tap event
            $("#create").on("tap", function() {

                var view  =  {
                        "language" : "javascript",
                        "views" : {
                            "view_user" : {
                                "map" : "function(doc) {if (doc.username) {emit(doc.username, null)}}"
                            }
                        }
                    }

                // ** create VIEW **
                $.ajax({
                    url: cblUrl + dbName + "/_design/users",
                    type: 'PUT', 
                    data: view,
                    success: function (data, textStatus, xhr) {
                        console.log(xhr.status);
                    },
                    error: function (xhr, statusText, error) {
                        console.log(xhr.status);
                    }
                });

            }); 
        }); // main jQuery function
    }, // onDeviceReady
}; 

app.initialize();

1 个答案:

答案 0 :(得分:0)

我使用命令安装了我的插件 cordova plugin add com.couchbase.lite.phonegap

然而,该插件是测试版和plugins.cordova.io的前版本 然后我尝试使用

命令卸载并重新安装插件

cordova plugin add https://github.com/couchbaselabs/Couchbase-Lite-PhoneGap-Plugin.git

我能通过这种方式。