0

php Web サービス呼び出しから取得した json の php Web サービス応答を javascript に表示したいのですが、これが私のコードです。

<?php
session_start();
$url='webservice url';
    $ch=curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($useridofuser));
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
    $response=  curl_exec($ch);
    //echo('\n'."Server response : \n \n".$response);
    curl_close($ch);
    //parsing the json response from server
    $jsonde="$response";
    $_SESSION['json']=$jsonde;
 $org = array();
 $loc = array();
 $bui = array();
 $items = json_decode($response);
 foreach( $items as $each ){
 $loc[]=$each->location[0]->name;
 $bui[]=$each->location[0]->building[0];
 $org[]=$each->name;
 }
 ?> 

ここで、$org で組織名を取得し、$bui には建物が含まれ、$loc には場所が含まれます。このコードの下にフォームがあります

    <sript>
    var json = "<?php echo $response ?>";
    alert(json);
 </script>
 <form>
 <label for="orgname">Organisation Name</label>
                    <select style="width: 305px;text-align:left ;"  name="category_id" id="category_id">
                    <option value="">Select</option>
                    <?php foreach($org as $key=>$val){?>
                    <option value="<?php echo $val; ?>"><?php echo $val;?></option>
 <?php
 }
 ?>                      </select>

                    <p>
        <label name="location">Location</label>

                     <select style="width: 305px;" name="category_id1" id="category_id1" onchange="ajax(this);">
                     <option value="">Select</option>
                     </select>
                    </p>
                    <p>
        <label for="building">Building</label>

                    <select style="width: 305px" name="category_id2" id="category_id2">
                    <option value="">Select</option>
                    </select>

組織では、組織のコンボ ボックスから選択した値を、php Web サービスから返された json 配列と比較し、その特定の組織を含むオブジェクトを返したいと考えています。本当に私の質問は、json 配列をに保存する方法です。 JavaScript変数または何か。ありがとうございました

4

2 に答える 2

3

次のように、取得した json コンテンツを使用して javascript 変数を設定しないのはなぜですか。

<?php 
    $response = "YOUR JSON RESPONSE";
?>
<script type="text/javascript">
    var json = "<?php echo json_encode(json_decode($response)) ?>";
</script>

$responseJavaScript の破損を防ぐために、必ず正しい方法でエスケープしてください。

于 2013-04-11T11:33:54.480 に答える
0

これは役に立ちますか?

<!doctype html>
<html>
<head>
<script>
function func1()
{
    try
    {
        addedVariable = addedVariable;
        alert('can only add the script once');
    }

    catch(ex)
    {
        var sc = newEl('script');
        sc.appendChild( newTxt('var addedVariable = 100;' ) );
        document.head.appendChild(sc);
        alert('script element with variable added');
    }
}

function func2()
{
    try
    {
        alert("value of 'addedVariable' = " + addedVariable);
    }
    catch(ex)
    {
        alert("hit the first btn, then try again");
    }
}
</script>
</head>
<body>
    <button id='btn1' onclick='func1();'>click Me 1st</button>
    <button id='btn2' onclick='func2();'>click me 2nd</button>
</body>
</html>
于 2013-04-11T11:42:44.053 に答える