liaison de service Web de données URL publique déroulante excelcontentApp

voix
1

Ici, j'ai créé un service web et donné url publique pour obtenir des données des data.I ont écrit le code suivant dans le bureau 365 preview développeur (NAPA) page default.htm.

<!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>

code est écrit dans la mise en jachère fichier 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);
            }
        });
}

Où je l'ai écrit wrong.Please me aider à assurer que le code out.Make total est écrit dans le seul portail en ligne 365 bureaux account.Not écrit en studio visuel.

Créé 01/02/2013 à 11:10
source utilisateur
Dans d'autres langues...                            


3 réponses

voix
0

Avec jQuery 1.4+, vous pouvez simplement faire

for (i = 0; i < data.d.length; i++) {
   ddlArea.append($('<option/>', { value : data.d[i].AreaName }).text(data.d[i].AreaName);
}    
Créé 01/02/2013 à 11:17
source utilisateur

voix
0

Vous avez fait peu, on peut dire overrideaux options html. Vous placez les valeurs et le texte des chaque option:

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

Vous pouvez y parvenir avec $.each():

$.each(data.d, function(i, v){
  ddlArea.append("<option></option>").val(v[i].AreaName).text(v[i].AreaName);
});
Créé 01/02/2013 à 12:08
source utilisateur

voix
0

Vous avez peut-être rencontrez un problème d'accès aux données inter-domaines JavaScript que vous essayez d'accéder à une adresse distante de votre Office 365 site Aperçu. Si le type de retour de la demande à l'adresse distante est JSONP, alors vous pourriez être en mesure de passer outre la question de l'accès aux données inter-domaines.

Vérifiez avec votre navigateur Developer Tools (appelant avec raccourci clavier F12 et puis regardez sous l'onglet Réseau) ou Firefox Firebug si l'URL du serveur distant renvoie toutes les données JSONP.

Créé 20/02/2013 à 11:29
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more