0

我想将 json 中的 php web 服务响应调到从 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>

确保您$response以正确的方式转义以防止损坏您的 javascript。

于 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 回答