2017-10-04 6 views
0

Comment puis-je écrire du code jQuery en utilisant SP Services pour publier dans une liste SharePoint? Actuellement, j'utilise un formulaire pour obtenir le nom et les détails du groupe de diffusion. Quand je cours mon code, j'obtiens une erreur de serveur 500. Je suis sûr que quelque chose ne va pas avec ma méthode.SharePoint UpdateListItems utilisant SP Services ne publiant pas d'erreur

Voici mon SP Code Services:

//Add Mail Item 
$(document).on('click', '#add-group', function() { 
    var title = $("input#titleName").val(); 
    var mga = $("input#mga").val(); 
    var serviceNews = $("input[type=checkbox][name=basic-news]:checked").val(); 
    var serviceHealth = $("input[type=checkbox][name=advanced-health]:checked").val(); 
    console.log(title); 
    console.log(mga); 
    console.log(serviceNews); 
    console.log(serviceHealth); 
    console.log(userLogin); 
    $().SPServices({ 
     operation: "UpdateListItems", 
     async: false, 
     batchCmd: "New", 
     listName: "BDJ Mailing Group Subscribers", 
     valuepairs: [["Title", title], ["MailingGroupAddress", mga],["ServiceNews", serviceNews],["ServiceHealth", serviceHealth]], 
     completefunc: function (xData, Status) { 
      alert("success"); 
     } 
    }) 
}) 

Message d'erreur:

/_vti_bin/Lists.asmx 500 (Internal Server Error) 
+0

Les champs booléens 'ServiceNews' et' ServiceHealth' sont-ils? –

+0

Ils sont oui et non les champs – azmatrix

+0

quelle est la valeur dans 'console.log (serviceNews); , console.log (serviceHealth); '? –

Répondre

1

Comme vous l'avez mentionné dans les commentaires, qu'ils sont champs Oui/Non, vous devez passer la valeur 1 ou 0. Les champs booléens acceptent la valeur 1 ou 0, pas "Oui" ou "Non". Modifiez votre code comme ci-dessous et essayez:

$(document).on('click', '#add-group', function() { 
    var title = $("input#titleName").val(); 
    var mga = $("input#mga").val(); 
    var serviceNews = $("input[type=checkbox][name=basic-news]:checked").val(); 

    var serviceNewsValue = (serviceNews == "Yes") ? 1 : 0; 

    var serviceHealth = $("input[type=checkbox][name=advanced-health]:checked").val(); 

    var serviceHealthValue = (serviceHealth == "Yes") ? 1 : 0; 

    console.log(title); 
    console.log(mga); 
    console.log(serviceNews); 
    console.log(serviceHealth); 
    console.log(userLogin); 
    $().SPServices({ 
     operation: "UpdateListItems", 
     async: false, 
     batchCmd: "New", 
     listName: "BDJ Mailing Group Subscribers", 
     valuepairs: [["Title", title], ["MailingGroupAddress", mga],["ServiceNews", serviceNewsValue],["ServiceHealth", serviceHealthValue]], 
     completefunc: function (xData, Status) { 
      alert("success"); 
     } 
    }) 
}) 
+0

Je l'ai essayé, mais j'ai reçu l'erreur 403. Même si je réduis les paires de valeurs à juste titre, il va donner une erreur – azmatrix

+0

Eh bien l'erreur est assez explicite, vous devez utiliser le compte qui a la permission d'ajouter des éléments à la liste? Êtes-vous en mesure d'ajouter des éléments via l'interface utilisateur? –

+0

Oui, je peux ajouter des éléments via l'interface graphique de SharePoint, donc j'ai probablement accès – azmatrix