2012-05-11 64 views
0

我也困惑過這個QuickBase的jQuery/Ajax的問題​​了兩天更好的一部分。考慮內部運行$(函數()這個jQuery代碼...:QuickBase的jQuery/Ajax調用的益智遊戲

<script type="text/javascript"> 
     $(function() { 
      $.ajax({ 
       type: "GET", 
       url: "https://www.quickbase.com/db/<mydbid>", // <- returns error 
       //url: "http://pfs.fedcap.com/testdata.xml", // <- returns xml 
       data: { 
        act:"API_DoQuery", 
        query:"{7.EX.235445}", 
        apptoken:"<myapptoken>" 
       }, 
       dataType: "xml", 
       error: function(xhr,status) { 
        alert("error"); 
       }, 
       success: function(xml) { 
        alert("OK"); 
       } 
      }); 
     }); 
    </script> 

如前所述,指着QuickBase的URL返回一個錯誤,而是指向XML文件的URL返回預期的XML,但這裏的。踢球者:xml文件(testdata.xml)是通過直接指向我的瀏覽器到指定的URL創建:https://www.quickbase.com/db/<mydbid> A = API_DoQuery &查詢= {} 7.EX.235445 APPTOKEN & = < myapptoken>並保存結果? testdata.xml。在我看來,jquery ajax調用應該產生與testdata.xml文件相同的結果,但它並不是。

Firebug xml窗格顯示t帽子時對QuickBase現場執行的調用返回「XML解析錯誤:語法錯誤地點:MOZ-nullprincipal:{3e0d38f1-0e36-4adb-965e-d0e7d68ab0cb} 1號線,1列:刷新頁面以獲取來源:https://www.quickbase.com/db ...「

我忽略了什麼?有什麼想法嗎?

+0

嗯,我不解的是,這可能是由於瀏覽器的不允許所謂跨域(或跨網站)ajax調用。這對JSONP來說並不是問題,但QuickBase顯然不會響應帶有JSON的調用,而只會響應XML。有誰知道解決方法? – user1390191

回答

2

雖然可以編寫自己的jQuery實現自己的API,你就要去使用他們自己的JavaScript SDK好得多。 https://github.com/QuickbaseAdmirer/Quickbase-JavaScript-SDK

您缺少的重要組成部分,是認證調用來獲取「票」。提供應用程序令牌不足以執行DoQuery調用。您必須進行身份驗證,然後使用發回的票證來執行更多API調用。對於url請求,票據可以很容易地附加到&ticket=randomcharacters。對於XML請求,只需將<ticket>randomcharacters</ticket>添加到您的XML請求中即可。

https://github.com/QuickbaseAdmirer/Quickbase-JavaScript-SDK對如何使用身份驗證調用的更多信息。

+0

我無法正確顯示/隱藏處理加載器圖像使用此QuickBase JS SDK..any想法在這裏爲我? –