0

我创建了一行代码,用于从 SOAP 服务读取数据。但我有一个小问题。我在这个任务中使用 JSONP Lib,但没有产生结果。我尝试用更少的代码来读取数据库查询的输出,结果是成功的。这两种方法有区别吗?第一个我做的 PHP 代码将数组转成 json 的形式:

<?php
error_reporting(0);
header('content-type:application/json;charset=UTF-8');
date_default_timezone_set("Asia/Jakarta");
require_once('lib/nusoap.php');

$Param1 = "bertho_joris@yahoo.co.id";
$Param2 = "12345";

$client = new nusoap_client('http://vcare.telkomvision.net.id/services/VcareServices.php');
$ReadSOAP = $client->call('validateLogin', array('EMAIL' => $Param1, 'PASSWORD' => md5($Param2)));

echo '{"items":['. json_encode($ReadSOAP) .']}';
?>

上述代码产生的数据是:

{
"items": [
    {
        "NE": "42616324457",
        "EMAIL": "bertho_joris@yahoo.co.id",
        "TIPE": "POSTPAID",
        "NAMA": "ALBERTHO MALAQUENA JORIS/NPK:120488047",
        "TELP": "081310117966 / 087878837451",
        "DN": "127225148174",
        "STATUS_LOGIN": "1",
        "DESC_LOGIN": "Valid"
      }
   ]
}

我使用下面的库来处理稍后在我的应用程序中读取的输出数据: JSONP 库

JSONP.get( 'MyURL.php', {Email:'MyEmail', Password:'MyPass'}, function(data){
    for ( var i = 0; i < response.length; ++i ) {
          str = response[i].ne;
          str2 = response[i].email;
          str3 = response[i].tipe;
          str4 = response[i].nama;
          str5 = response[i].telp;
          str6 = response[i].dn;
          str7 = response[i].desc_login;
    }
});

但我得到的结果是:我的应用程序无法直接从上面的 SOAP 读取数据输出。我很困惑为什么会这样。而且我认为 JSON 格式是正确的。

然后我尝试直接从数据库中读取数据。这个数据库是一个样例,我不小心把上面的SOAP读取过程的输出做成了一样的数据。

结果,我成功拿到了数据。

我包括两个用于阅读的链接。

  1. 此链接是直接从服务器处理 SOAP 的 php 文件,输出为 JSON: 读取失败

  2. 这是到具有虚拟数据库的数据库的直接链接。JSON 输出。我成功地使用了第二种方法: 阅读成功

请帮我解决我的问题。我想使用输出 JSON 的 SOAP 表单直接从流程中读取数据。正如我所说的失败。

谢谢

4

1 回答 1

0

尝试这个:

JSONP.get( 'MyURL.php', {Email:'MyEmail', Password:'MyPass'}, function(data){
    for (var i = 0; i < response.length; i++) 
    {
        str  = response[i].NE;
        str2 = response[i].EMAIL;
        str3 = response[i].TIPE;
        str4 = response[i].NAMA;
        str5 = response[i].TELP;
        str6 = response[i].DN;
        str7 = response[i].DESC_LOGIN;
    }
 });
于 2012-11-21T19:17:20.370 回答