2

次のような約 20 個のオブジェクトを含むjsonファイルがあります。

{
"firstName": "User1",
"lastName" : "UserLname",
"title": "Human",
"description": "Something Facinating",
"photoURL": "http://www.example.com/wp-content/themes/mytheme/images/profile/user1.jpg",
"contact": {
     "email" : "user1@example.com"
      }
}

これらのオブジェクトの画像/説明をページに表示する JavaScript コードがあります。このサイトを複数の場所にアップロードしたい。jsonしたがって、このファイルで絶対 URL を使用しても意味がありません。ファイルからjs変数を渡し、javascript ファイル内で呼び出すことで問題を解決しました。templateUrlheader.php

<script type="text/javascript"> 
    var templateUrl = '<?= get_bloginfo("template_url"); ?>';
</script>

そしてJavaScriptで:$.getJSON(templateUrl+"/scripts/file.json", function(file){....}

templateUrlこの変数をjsonファイルにも渡す方法が必要です。そのため、画像パスを justimages/profile/user1.jpgに設定することができ、サイトがアップロードされた場所に応じて、これに URL を追加できます。

4

1 に答える 1

1
#json.php
{
"firstName": "User1",
"lastName" : "UserLname",
"title": "Human",
"description": "Something Facinating",
"photoURL": "<?= $_GET['var']; ?>/images/profile/user1.jpg",
"contact": {
     "email" : "user1@example.com"
      }
}

 

#main page
<script type="text/javascript">
var templateUrl = encodeURI("http://example.com");

$(function(){
    $.getJSON(
        'json.php?var=' + templateUrl,

        function(data){
            $.each(data, function(key, val){
                console.log(key + ": " + val);
            });
        }
    );
});

</script>

 

出力:

firstName: User1
lastName: UserLname
title: Human
description: Something Facinating
photoURL: http://example.com/images/profile/user1.jpg
contact: [object Object]
于 2013-07-02T14:43:28.307 に答える