2014-02-27 98 views
0

我正在使用Crossrider創建Chrome擴展(Add-On's)。我在這裏做的是調用檢索JOSN數據的wcf服務(2列10行)。數據正在通信,但是當我在crossrider數據庫中插入此JSON數據時顯示Errror(錯誤代碼405)。我完全是在crossrider Async.db Demo中完成的。以下是我的代碼插入JSON數據到Crossrider數據庫顯示錯誤

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); 
         }); 
}); 
+0

檢查數據爲了幫助您,請提供一個真正的代碼片段相關的URL和回調函數。這將使我能夠幫助您解決您的問題。 [**披露**:我是Crossrider員工] – Shlomo

+0

假設錯誤代碼是一個HTTP錯誤,[405是方法不允許](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#4xx_Client_Error)aka使用a當服務器僅支持POST時GET。 – abraham

+0

@abraham對錯誤消息是正確的,但是您聲稱已收到數據。哪個回調被觸發,成功或失敗?另外,如果你想讓我看看這個問題,你必須爲'檢索JSON數據的URL'提供一個有效的URL,以便我可以測試這個場景。 – Shlomo

回答

2

最後我做了另一個過程來將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);} 
}); 
+0

感謝您的更新。你搶先了我的下一步,我很高興看到你設法自己得出同樣的結論;-) – Shlomo

相關問題