2017-09-01 7 views
0

Lassen Sie mich Ihnen sagen, was ich versuche:Wie ein Objektwert in ein anderes Objekt zu übergeben JavaScript

ich ein globales Objekt von Benutzer-ID es in addpipe Plugin JavaScript zu übergeben.

<script type='text/javascript'> 
/* <![CDATA[ */ 
var providerId = {'pass_id':'<?php echo $providerInfo->wp_user_id; // provider id value is 5 ?>'}; 
/* ]]> */ 
</script> 

Jetzt versuche ich es in Plugin JavaScript zu erhalten wie folgt:

<script type='text/javascript'> 

alert(providerId.pass_id); 
var size = {  
    width: 640,   
    height: 510  
}; 

var flashvars = {  
    qualityurl: 'avq/480p.xml',  
    accountHash: 'xxxxxxxxxxxxxxxxxxx',  
    showMenu: 'true',  
    lang: 'translations/en.xml',  
    mrt: 20,  
    payload: 'xxxxxxxxxxxxxxxxxxx,588,5, providerId.pass_id'  
}; 

Die providerId.pass_id richtigen Wert 5 in Alarm Popup geben, aber in der Nutzlast wird es gehen null. Ich erhalte Nutzlast in PHP wie folgt aus:

$payload = explode(',', $json->data->payload);  
$accountHash = filter_var($payload[0], FILTER_SANITIZE_STRING);  
$userId = filter_var($payload[1], FILTER_SANITIZE_NUMBER_INT);  
$postId = filter_var($payload[2], FILTER_SANITIZE_NUMBER_INT);  
$providerId = filter_var($payload[3], FILTER_SANITIZE_NUMBER_INT); 

Wenn ich stattdessen statische Wert dieser dann alles in Ordnung ist und es ist auch richtig Wert in Alarm zu geben.

Also bitte helfen Sie mir, warum providerId.pass_id ist Null, wenn ich es in Plugin-JavaScript-Objekt übergeben. Lass mich wissen, wenn ich etwas vermisse.

Antwort

1

Verketten Sie einfach die providerId.pass_id mit der Zeichenfolge im Nutzlastteil des flashvars Objekts wie unten. Momentan stellen Sie Payload nur für die Zeichenkette 'xxxxxxxxxxxxxxxxxxx,588,5,providerId.pass_id' ein, wobei providerId.pass_id wörtlich eine Zeichenkette ist und keine Referenz auf den Objektwert, nach dem Sie suchen.

var flashvars = { 
    qualityurl: 'avq/480p.xml', 
    accountHash: 'xxxxxxxxxxxxxxxxxxx', 
    showMenu: 'true', 
    lang: 'translations/en.xml', 
    mrt: 20, 
    payload: 'xxxxxxxxxxxxxxxxxxx,588,5,'+providerId.pass_id 
}; 
Verwandte Themen