2013-02-01 37 views
1

這裏我創建了Web服務並給出了從數據獲取數據的公共URL。我在Office 365開發人員預覽(NAPA)default.htm頁面中編寫了以下代碼。綁定數據網絡服務公共網址在excelcontentApp中下拉

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8" /> 
<meta http-equiv="X-UA-Compatible" content="IE=Edge" /> 
<title>DemoApplication</title> 
<link rel="stylesheet" type="text/css" href="../Content/Office.css" /> 
<!-- Add your CSS styles to the following file --> 
<link rel="stylesheet" type="text/css" href="../Content/App.css" /> 
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js"></script> 
<script src="https://appsforoffice.microsoft.com/lib/1.0/hosted/office.js"></script> 
<!-- Add your JavaScript to the following file --> 
<script src="../Scripts/App.js"></script> 
</head> 
<body onload="GetData()"> 
    <select id="CbxArea" style="width: 200px"> 
    <option>Select Area</option> 
    </select> 
    <input type="button" value="submit" id="btnsubmit"/>   
</div> 
    </body> 
</html> 

休耕代碼寫在app.js文件

Office.initialize = function (reason) {  
}; 
function GetArea(){ 
var ddlArea = $("#CbxArea"); 
     $.ajax({ 
      type: "POST", 
      url: "http://192.168.3.252:8081/HaraveerWCF/ExcelDataService.asmx/GetAreaNames", 
      contentType: "application/json; charset=utf-8", 
      //url:"ExcelDataService.asmx/GetAreaNames", 
      dataType: "json", 
      success: function (data) { 
      for (i = 0; i < data.d.length; i++) { 
       ddlArea.append($("<option></option>").val(data.d[i].AreaName).html(data.d[i].AreaName)); 
       } 
      }, 
      failure: function (msg) { 
       alert(msg); 
      } 
     }); 
} 

在那裏我有寫wrong.Please幫我out.Make確保總代碼寫在唯一的在線Office 365門戶account.Not寫在視覺工作室。

回答

0

你做一點,我們可以說override期權HTML。你是把價值觀和每個選項的文本:

for (i = 0; i < data.d.length; i++) { 
    ddlArea.append($("<option></option>").val(data.d[i].AreaName) 
             .text(data.d[i].AreaName)); 
} 

您可以$.each()實現這一目標:

$.each(data.d, function(i, v){ 
    ddlArea.append("<option></option>").val(v[i].AreaName).text(v[i].AreaName); 
}); 
+0

它也不能正常工作,我在這裏使用的是office 365開發人員預覽。 –

0

使用jQuery 1.4以上版本,你可以只是做

for (i = 0; i < data.d.length; i++) { 
    ddlArea.append($('<option/>', { value : data.d[i].AreaName }).text(data.d[i].AreaName); 
}  
+0

bipen,我試着像你說的那樣。但是結果是none.Meke確定我正在開發office 365在線環境中的應用程序。所以請給出合適的答覆 –

0

您可能會遇到如你是一個JavaScript的跨域數據訪問問題嘗試從您的Office 365預覽網站訪問遠程地址。如果到遠程地址的請求的返回類型是JSONP,那麼您可能能夠覆蓋跨域數據訪問問題。

使用您的瀏覽器使用開發工具(如果遠程服務器URL返回任何JSONP數據,請使用F12鍵盤快捷鍵&,然後查看網絡選項卡)或Firefox Firebug。