Вставьте данные JSON в базу данных Crossrider, показывающую ошибку

Я создаю расширение Chrome (надстройки) с помощью Crossrider. Здесь я вызываю службу wcf, которая извлекает данные JOSN (2 столбца с 10 строками). Данные передаются, но когда я вставляю эти данные JSON в базу данных crossrider, отображается ошибка (код ошибки 405). Я сделал именно то, что было в crossrider Async.db Demo. Ниже приведен мой код

appAPI.ready(function($) {
appAPI.db.async.setFromRemote('Url which retrieves JSON Data',    // The url for the request
                        'URLs',            // The database key name
                        appAPI.time.daysFromNow(7),  // optional: expiration
                        function(response) {         // optional: success callback
                          alert(Successfully saved.');
                        },
                        function(status) {           //optional: failure callback
                          alert('Failed  error code: ' + status);
                        });
});

person Surya    schedule 27.02.2014    source источник
comment
Чтобы помочь вам, предоставьте реальный фрагмент кода с соответствующими URL-адресами и функциями обратного вызова. Это позволит мне помочь вам решить вашу проблему. [Раскрытие информации: я сотрудник Crossrider]   -  person Shlomo    schedule 27.02.2014
comment
Предполагая, что код ошибки является ошибкой HTTP, 405 — это метод, запрещенный, то есть с использованием GET. когда сервер поддерживает только POST.   -  person abraham    schedule 27.02.2014
comment
@abraham прав насчет сообщения об ошибке, но вы утверждаете, что данные получены. Какой обратный вызов запускается, успех ИЛИ отказ? Кроме того, если вы хотите, чтобы я изучил проблему, вы должны указать действительный URL-адрес для «URL, который извлекает данные JSON», чтобы я мог протестировать сценарий.   -  person Shlomo    schedule 28.02.2014
comment
@Shlomo Спасибо за ваш ответ, я не могу указать URL-адрес, задавая вопрос, мой URL-адрес localhost:3706 /Service1.svc/json/GetAffiliatedUrlsCollection   -  person Surya    schedule 28.02.2014


Ответы (1)


Наконец, я сделал еще один процесс для вставки данных JSON в crossriderDB. Шаг: 1) Используя appAPI.request.post, я получаю данные JSON и анализирую данные JSON.

     appAPI.request.post({

    url: 'http://localhost:3706/Service1.svc/json/GetAffiliatedUrlsCollection',
    onSuccess: function(response){
   var site = appAPI.JSON.parse(response);//Parse the JSON Data 
    alert(response);
    AddUrlToDB(site);//Calling function to Insertdata to db and passing Parsed JSON data
    },        
    onFailure: function(httpCode) {
        alert('Failed to retrieve content. (HTTP Code:' + httpCode + ')');
    },
    additionalRequestHeaders: {
        myHeader: 'value'
    },
    contentType: 'application/json'
});

Шаг: 2) Вот код для вставки данных JSON в БД, я написал этот код в функции, и эта функция вызывается из приведенного выше кода.

    function AddUrlToDB(site){
appAPI.db.async.set("StoredUrls", site, appAPI.time.hoursFromNow(12),
    function() {
        alert("Successfully saved key-value pair to the local database");
    });
}

Шаг: 3) Проверьте данные из базы данных

    appAPI.db.async.get("StoredUrls",function(value){
if(value===null || value===undefined){
alert('no data');
}
else{alert(value);}
});
person Surya    schedule 28.02.2014
comment
Спасибо за обновления. Вы предупредили мой следующий шаг, и я рад видеть, что вам удалось прийти к такому же выводу самостоятельно ;-) - person Shlomo; 02.03.2014