2010-07-22 5 views
0

envoyer des données par courrier, mais souhaitez envoyer un tableau mais continuer à recevoir des erreurs?

exclues est le tableau que j'essaie d'envoyer.

 $.post("/youradmin_v2/scripts/php/process.php", { 
      funcName:'searchContent', 
      table:'content', 
      fields:'title,contentID', 
      keyword:$(this).val(), 
      tag:'option', 
      excludes: ['contentType'=>'client','contentType'=>'mainsetion']     
      }, 
      function(data){ 
      $("#filterContentMenu").html(data); 
     }); 

Je n'arrive pas à trouver la bonne façon de formater la matrice pour la publication?

ou de clarifier ce que je veux est de transformer cela en un tableau PHP comme

$excludes=array('fieldA'=>'client','feildB'=>'mainsetion') 

être utilisé comme

foreach($excludes as $value) { 
     $toExclude .=" AND ".$value['name']."!='".$value['value']."' ".$value; 
    } 
+2

* soupir * S'il vous plaît, s'il vous plaît, s'il vous plaît lorsque vous recevez des messages d'erreur, * ajouter ce message d'erreur à votre message *. –

+1

Le titre de la question devrait probablement lire "$ .post variable ...", car "$ post variable ..." risque d'être mal interprété dans ce cas. –

+1

[Alerte d'injection SQL] (http://unixwiz.net/techtips/sql-injection.html)! – BalusC

Répondre

3

Vous semblez être en utilisant la notation de style PHP pour spécifier le tableau clés. Essayez

excludes: {'contentType':['client','mainsetion']} 
+0

Vous devez utiliser des accolades pour cela, pas des crochets. Dans JS, les crochets sont pour les tableaux, pas pour les objets. Notez également que vous allez probablement l'écraser avec le second; vous pourriez vouloir que ce soit plus le long des lignes de 'excludes: {contentType: ['client', 'mainetion']}'. –

+0

@Michael bien repéré. –

+0

Pourquoi ne modifiez-vous pas votre réponse pour rendre JS syntaxiquement valide? – BalusC

3
$.post("/youradmin_v2/scripts/php/process.php", { 
     funcName:'searchContent', 
     table:'content', 
     fields:'title,contentID', 
     keyword:'blah', 
     tag:'option', 
     excludes: {contentType:'client',anotherContentType:'mainsetion'}    
     }, 
     function(data){ 
     $("#filterContentMenu").html(data); 
    }); 
+0

ok ce tableau arrête l'erreur; {contentType: 'client', anotherContentType: 'mainetion'} - merci! mais ce n'est pas ramassé la façon dont je m'attendais par le fichier php. En fait, j'essayais de créer une chaîne pour une requête sql. -à-dire "ET contentType! = 'Client' et contentType! = '' Tronçon principal" mais ce que je reçois est ET c! = 'C' et m! = 'M' en utilisant php foreach ($ exclut en $ value) { \t $ àExclure. = "AND". $ valeur ['nom']. "! = '". $ valeur [' valeur ']. "'"; } pensez-vous que ce que je fais est possible ?! Merci beaucoup! Dan – v3nt

+0

examiner le post - c'est "exclut [contentType]" etc ... aussi vous ne pouvez pas utiliser le nom de clé "contentType" deux fois. Je pense que vous pouvez aussi faire quelque chose comme ça "exclut: {contentType: ['client', 'section']}" .. juste faire un print_r ($ _ POST) dans votre php pour savoir ce qu'il se passe comme. – vinhboy

+0

merci vinhboy - Je pense que je renonce à cette méthode alors. Je vais juste utiliser une chaîne via jquery que je ne voulais pas faire pour des raisons de sécurité. ainsi; exclut: "ET contentType! = 'Client' ET contentType! = '' Principale section '' merci pour vos réponses! – v3nt