2012-11-20 16 views
5

Bazı sütunlar ve veri satırı içeren bir SharePoint listesi olan bir SharePoint URL'im var.Bir SharePoint Listesini okuyun ve verileri JavaScript işleviyle bir HTML dosyasına koyun.

Bu bilgileri belirli bir URL'den okumak ve verileri bir HTML işleviyle bir JavaScript işlevi aracılığıyla eklemek istiyorum.

JavaScript & HTML5 hakkında hiç deneyimim yok, dolayısıyla verileri almak için bu işlevleri nasıl arayacağımı bilmiyorum. Bugüne kadar var ve hiç çalışmıyor ne

: Ben index.html şey açmaya çalışırsanız

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
    <title></title> 
    <meta name="description" content=""> 
    <meta name="viewport" content="width=device-width"> 
</head> 

<script type="text/javascript" src="filelink/jquery-1.6.1.min.js"></script> 
<script type="text/javascript" src="filelink/jquery.SPServices-0.6.2.min.js"></script> 
<script language="javascript" type="text/javascript"> 
    $(document).ready(function() { 
     $().SPServices({ 
     operation: "GetListItems", 
     webURL: "http://myURL.aspx", 
     async: false, 
     listName: "Announcements", 
     CAMLViewFields: "<ViewFields><FieldRef Name='Title' /></ViewFields>", 
     completefunc: function (xData, Status) { 
      $(xData.responseXML).SPFilterNode("z:row").each(function() { 
      var liHtml = "<li>" + $(this).attr("ows_Title") + "</li>"; 
      $("#tasksUL").append(liHtml); 
      }); 
     } 
     }); 
    }); 
</script> 
<ul id="tasksUL"/> 
<body> 
</body> 
</html> 

yüzden benim işlevlerine aramaya bilmiyorum olur benim HTML dosyası Ayrıca, HTML dosyasında SP.ClientContext'i nasıl tanımlayacağımı bilmiyorum.

Çok önceden teşekkürler.

+0

collList öğesini nerede tanımlıyorsunuz? Bu snippet'i nereden aldınız? – Christophe

+0

Buradan ediniyorum: http://msdn.microsoft.com/en-us/library/hh185009.aspx – NASM

+0

tamam, cevabımı gör. Ayrıca, "hiçbir şey olmuyor" ile ne demek istiyorsun? Boş bir sayfa var mı? – Christophe

cevap

2

SPServices library bunu sizin için çok kolay bir şekilde yapacaktır.

this numaralı telefonu kullanmak isteyeceksiniz. Özellikle çok fazla AJAX listesi sorgusu yapıyorumsa kodu daha güzel hale getirmek için kendi işlevlerimde kapsülleyim.

Temelde ne olacak SharePoint Microsoft Documentation tarafından tanımlanan tüm liste öğeleri vardır çirkin bir XML belgesi dönecektir olduğunu. çizgi ile

<script type="text/javascript" src="filelink/jquery-1.6.1.min.js"></script> 
<script type="text/javascript" src="filelink/jquery.SPServices-0.6.2.min.js"></script> 
<script language="javascript" type="text/javascript"> 

$(document).ready(function() { 
    $().SPServices({ 
    operation: "GetListItems", 
    async: false, 
    listName: "Announcements", 
    CAMLViewFields: "<ViewFields><FieldRef Name='Title' /></ViewFields>", 
    completefunc: function (xData, Status) { 
     $(xData.responseXML).SPFilterNode("z:row").each(function() { 
     var liHtml = "<li>" + $(this).attr("ows_Title") + "</li>"; 
     $("#tasksUL").append(liHtml); 
     }); 
    } 
    }); 
}); 
</script> 
<ul id="tasksUL"/>` 

Hattı: Böyle SPServices kullanarak bu belgeyi çapraz edeceğiz <script type="text/javascript" src="filelink/jquery-1.6.1.min.js"></script>
JQuery SPServices SPServices $(document).ready(function() {

dahil
<script type="text/javascript" src="filelink/jquery.SPServices-0.6.2.min.js"></script>
gerektirdiği
"DOM yüklü olduğunda Bu işlevi "

yürütünüz. 10
listName: "Announcements",
"Biz listesi 'kullanıyoruz "şimdi yap, asenkron değil"
operation: "GetListItems",

async: false,
"Biz 'GetListItems' web hizmeti kullanıyor" "Bu SPServices fonksiyondur" Duyurular "
CAMLViewFields: "<ViewFields><FieldRef Name='Title' /></ViewFields>",
bu hat
completefunc: function (xData, Status) {
merak etmeyin" Bu işlevi çalıştırın isteği tamamlandığında . Veri, xData olarak geçirilir, tamamlanma durumu "

" olarak iletilir. "Yanıt dizesini alın ve yalnızca" satır "XML düğümlerini alın. Bu düğümlerin her biri için bu işlevi çalıştırın ..."
var liHtml = "<li>" + $(this).attr("ows_Title") + "</li>";
''
$("#tasksUL").append(liHtml);
' 'tasksUL' kimliğine sahip elemana bu liste öğesini ekleyin ows_Title özniteliği bir li etiketi ve XML liHtml eşit adlı bir değişken oluşturma'

+0

Öyleyse ... bu kodu bir html dosyasına nasıl yerleştirebilirim? Bu konuda net değilim. İşlev SharePoint URL'sine nasıl işaret eder? – NASM

+0

Belgelere bir göz attıktan sonra, bu aramaya oldukça fazla başka bir "argüman" eklemeliydim: webURL: "MyURL.aspx". Bundan sonra, index.html adımı açtığımda hiçbir şey olmuyor, bu yüzden burada bir şeyleri özlüyorum gibi görünüyor. İlk girişimi index.html dosyasını değiştirmek için değiştirdim – NASM

+0

Bu konuda çok üzgünüm ama bu SharePoint listesine sahip değilim, bu yüzden izinleri olmadan URL'yi sağlayamıyorum. Bunun hakkında sınırlı olabileceğini anlıyorum ama maalesef ellerimin altında değil. – NASM

0

bir var senin kodu ile baskı sayısı. Eğer SP.ClientContext gibi SharePoint işlevlerini kullanarak gibi

Birincisi, değil, yalnızca bağımsız olarak, SharePoint sayfasında çalışacaktır.

İkincisi, inci Snippet'te hatalar var gibi görünüyor. Örneğin, this.collList'un aslında var collList olması gerektiğini düşünüyorum.

Belki bu başka bir referans deneyin (ama yine bu sadece bir SharePoint 2010 veya 2013 sayfa içinde çalışacağız):

http://msdn.microsoft.com/en-us/library/hh185007(v=office.14).aspx

0

Aslında kullandığınız kod Sympmarc ve yazdığı SPServices kütüphanesinde içindir Belgelerinde, SharePoint Bağlamında çalışan sayfalarda kullanılmasının __REQUESTDIGEST post değişkenini kullandığı ve normal HTML5 sayfalarında bulunmayacağı için kullanacağından bahsetmek gerekirse, size verebileceğim seçenekler şunlardır: -

1) Temel Http Kimlik Doğrulamasını Etkinleştirin e SharePoint Sitesi ve ardından hizmet çağrınızdaki temel kimlik doğrulama bilgilerini kullanarak jquery'nin $ ajax işlevini kullanın. 2) Çalışmanızı yapmak için kod içeren bir http işleyicisi oluşturun ve daha sonra bu işleyiciden veri almak için jquery'den jsonu iletin.

İlgili konular