脚本没有显示任何警报

时间:2013-04-26 06:57:16

标签: php javascript

这里我应该在php中调用一个Web服务,并且Web服务的返回json存储在一个名为$ response的变量中,然后我将json传递给javascript,这里我正在解析json并依赖于员工的类型和每种类型都有不同的属性我警告所有,当我在另一个页面做了相同的功能测试它是工作的地方我通过硬编码给var txt ='',当我已经集成了php网络服务与我没有尝试过的任何东西,我很困惑,没有错误显示与JavaScript控制台。

 <?php
session_start();
$regid=$_SESSION['product_registration_id'];
//echo $regid;
$details=array(
'product_registration_id'=> "$regid");
//coverting the vlaues collected from form into json
//calling the web service
$url='webservice url';
    $data=$details;
    $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($details));
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
    $response= curl_exec($ch);
    echo ("The Server Response is:" .$response);
    curl_close($ch);
    json_decode($response);
    $json_a=json_decode($response,true);
    echo $json_a[expired];
    echo $json_a[account_detail][0];
 ?>
</div>
    <script>

var txt = '<?php echo $response ?>';
alert(txt);
//var jsonData = eval ("(" + txt + ")");
var jsonData = JSON.parse(txt);
for (var i = 0; i < jsonData.employees.length; i++) {
var counter = jsonData.employees[i];
//console.log(counter.counter_name);
alert(counter.type);
if(counter.type=="0")
    {
      alert(counter.building_name);
      alert(counter.org_name);
      alert(counter.user_name);
      alert(counter.name);
      alert(counter.loc_name);
      alert(counter.email_id);
      alert(counter.password);
    }
if(counter.type=="1")
    {
        alert(counter.user_name);
        alert(counter.name);
        alert(counter.password);
        alert(counter.email_id);
    }
    if(counter.type=="2")
        {
            alert(counter.building_name);
            alert(counter.org_name);
            alert(counter.user_name);
            alert(counter.opr_code);
            alert(counter.name);
            alert(counter.loc_name);
            alert(counter.email_id);
            alert(counter.password);
        }
        if(counter.type=="3")
            {
               alert(counter.building_name);
               alert(counter.org_name);
               alert(counter.machine_type);
               alert(counter.activate_status);
               alert(counter.machine_name);
               alert(counter.entrance_exit_name);
               alert(counter.entrance_or_exit);
               alert(counter.loc_name);
               alert(counter.activation_code);
            }
}

</script>

2 个答案:

答案 0 :(得分:0)

如果你想让php数组成为javascript中的数组,你必须:

<?php echo json_encode($response) ?>

这不需要在javascript中解析,它已经是一个数组,因为echo将返回{'message': 'hellew world'} ['value1','value2']的{​​{1}}的内容,其中javascript是一个数组或一个对象定义

所以删除javascript中的解析。

答案 1 :(得分:0)

如果响应中包含引号,则会出现js语法错误。没有任何东西将被处理。所以...没有警报。检查响应。逃避报价。