2017-09-01 9 views
0

何を試しているか教えてください:オブジェクト値を別のオブジェクトに渡す方法JavaScript

ユーザーIDのグローバルオブジェクトを設定して、addpipeプラグインJavaScriptに渡します。

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

は、今私は、プラグインでそれを得るためにそのようなJavaScriptをしよう:

<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'  
}; 

providerId.pass_idは、警告ポップアップで正しい値5を与えているが、ペイロードには、null起こっています。 私はこのようにPHPでペイロードを取得しています:

$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); 

私はこの代わりに静的な値を設定すると、すべてがうまくであり、それはまた、アラートに正しい値を与えています。

私はプラグインJavaScriptオブジェクトに渡すときにproviderId.pass_idがnullである理由を教えてください。 私は何かが恋しいかどうか教えてください。

答えて

1

ちょうどproviderId.pass_idを、以下のようにflashvarsオブジェクトのペイロード部分の文字列に連結します。現在のところ、ペイロードを文字列'xxxxxxxxxxxxxxxxxxx,588,5,providerId.pass_id'に設定するだけです。ここで、providerId.pass_idは文字列であり、その後のオブジェクト値への参照ではありません。

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