2012-04-27 54 views
0

我已經使用下面的腳本將可視化內容嵌入到HTML頁面中。從本質上講,我設置的屬性代表了可視化的對象上,然後viz_v1.js完成所有繁重的我:如何使用jQuery POST,檢索結果和使用結果來設置對象屬性

<script type="text/javascript" src="http://public.tableausoftware.com/javascripts/api/viz_v1.js"></script> 
    <div class="tableauPlaceholder" 
     style="width:654px; height:1469px;background-image: url('http://localhost:81/Background.gif'); top: 0px; left: 0px; width: 100%; margin-left: 76px;"> 

      <noscript> 
       <a href="#"><img alt="Analytics, Inc. " 
       src="http://localhost:81/Background.gif" 
       style="border: none" /></a> 
      </noscript> 

      <object class="tableauViz" width="654" height="1469" style="display:none;"> 
      <param name="host_url" value="http%3A%2F%2F192.168.56.1%2F" /> 
      <param name="site_root" value="/t/Site2" /> 
      <param name="name" value="AnalyticsIncJavaScript&#47;AnalyticsInc" /> 
      <param name="tabs" value="no" /> 
      <param name="toolbar" value="yes" /> 
      <param name="static_image" value="Background.gif"/> 
      <param name="animate_transition" value="yes" /> 
      <param name="display_static_image" value="yes" /> 
      <param name="display_spinner" value="yes" /> 
      <param name="display_overlay" value="yes" /> 
      <param name="display_count" value="yes" /> 
      </object> 

    </div> 

請注意,我硬編碼的所有屬性值的問題。

我現在需要另一個參數/屬性添加到組合 - 這傻逼的價值需要是動態的:

 <object class="tableauViz" width="654" height="1469" style="display:none;"> 
     <param name="host_url" value="http%3A%2F%2F192.168.56.1%2F" /> 
     ... 
     <param name="ticket" value="<a dynamic value>" />   
     </object> 

我必須張貼任意用戶名檢索「票」的價值,客戶端的IP到一個URL,然後獲取響應。我已經做了研究,它看起來像jquery將允許我這樣做,但由於我是一個JS新手,我不清楚如何傳遞兩個名稱/值對(用戶名,IP地址)時,我不知道如何傳遞兩個名稱/值對我發。我還不清楚如何通過解析響應來獲取生成的「票據」值,並將其放入一個變量中供以後使用。

問題1:有人可以告訴我如何做到這一點嗎? (「保持簡單愚蠢」是defintely爲了在這裏 - 我是無能的jQuery的假設和JavaScript將是正確的)

問題2:假設現在我已經得到了我的票值加載到一個變量(我們稱之爲varTicket),我如何動態填充我的tableauViz對象上的ticket參數?

我是否也使用類似PHP的東西(對此也不知所云),並以某種方式回覆我的票價值?我可以直接訪問tableauViz對象並觸摸它的.ticket屬性嗎?我寧願處理這個難題的這一部分,而無需重新加載/提交包含頁面。

感謝您的想法!

回答

1

假設您的服務器將返回一個代表您的票證的Json。

你的jQuery後會是這個樣子:

var ticketValueFromServer; 

jQuery.post(
    dataType : "JSON", 
    data : {"username" : username, "ipaddress" : ipaddress}, 
    url: myserverlocation, 
    success: function(response){ 
    ticketValueFromServer = response.ticket; 
    } 
); 

使用此ticketValue當你創建你的對象。

別忘了看看examples

+0

謝謝。我的問題是我不知道我不知道什麼。我需要創建一個帶有如下標題的POST:username = admin&ipaddress = 1.1.1.1我認爲*我需要使用「text」的dataType來完成此操作。我是否仍然以同樣的方式設置名稱值對?它似乎並不如此。 – 2012-04-28 16:35:53

相關問題