2013-11-26 89 views
0

我必須使用jQuery.getJSON檢索一些數據並調用一個API。由於我不得不使用數據庫的項目列表,所以我強制每個API,在Global.asax中寫入一些行,以Json格式返回對象並排除Xml。Knockout - 獲取字符串時,我得到[對象對象]

但我有這個問題,當我試圖通過getJSON獲取string
我想這個函數無法識別「簡單」的字符串,因爲它期待的是一個json格式。
如果我的猜測是正確的,如何從api中檢索字符串?

這是服務器端的代碼,或API操作:

public string Get(string userId, string dateStr) 
    { 
     //item = get from a database 
     return item.Value; 
    } 

這是客戶端函數調用上述API:

function GetValue(ui, ds) { 
     var self = this; 
     var jsko = jQuery.noConflict(); 
     var baseUri = "http://localhost:8090/api/"; 
     self.val= jsko.getJSON(baseUri + "get/day/?userId=" + ui + "&dateStr=" + ds); 

     alert(self.val); 
    }; 

注1:I我只報告了導致問題的代碼行。
注2:由於路由設置,我正在尋址的網址是正確的。
注3:Get()功能勢必會以這種方式點擊一個按鈕:

<button data-bind="click: GetValue.bind($data, $parent.UserId, $parent.dateStr)">get</button> 
+0

您可以發佈創建此行爲的服務器和客戶端代碼嗎? – Damien

回答

0

如果你希望從使用jQuery AJAX與服務器的純文本,您需要設置正確的屬性數據類型:dataType: "text"。 默認的getJSON方法下一個選項,期待JSON:

$.ajax({ 
    dataType: "json", 
    url: url, 
    data: data, 
    success: success 
}); 

如果我正確理解你的問題,試圖改變數據類型爲「文本」。

+0

我會試試這種方式,如果它能正常工作,我會讓你知道 – krvl