1

よく調べて困っています。簡単な答えかもしれませんが、今週これまでに 80 時間働いた後では、それが見えません...

私のアプリでは、いくつかの変数を Web サービスに渡します。Web サービスは、キーと値のペアを含む単一の構造を返します。

$.ajax({
    type: "POST",
    url: "it_submitcall.php",
    data: {callService: "getcall", callid: $("#callNumber").val()},
    dataType: "HTML",
    success: function(data){
        //do stuff here
    },
    error: function(data){
        // unable to communicate with web service stuff here
    }
});

私が返す応答は

Array
(
    [CALLID] => 44497
    [CALLERNAME] => Chris
    [TEAMID] => 1175
)

javascriptで上記の要素にアクセスするにはどうすればよいですか? どんなポインタでも大歓迎です...

どうもありがとう。

4

2 に答える 2

2

PHP 側では、json_encodeを使用して配列を JSON に変換します。

<?php
    $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
    echo json_encode($arr);
?>

次に、JavaScript側でJSON.parse()を使用してJavaScriptオブジェクトを取得します-あなたの場合:

success: function(data){
    var obj = JSON.parse(data);
},
于 2012-06-15T15:16:41.910 に答える
1

@phenomnomnominal が指摘しているようjson_encode()に、PHP オブジェクトで使用して JSON に変換できます (特に、JSON から PHP オブジェクトに変換json_decode()できます) 。

それが理解できれば、PHP と JS の「ハッシュ」に似たオブジェクトはよく似た動作をします (PHP ではこれらを連想配列と呼び、JavaScript ではオブジェクト リテラルと呼びます)。

PHP では、次のように配列にアクセスします$your_var

$value = $your_var[ 'key' ];

変数を使用することもできます:

$key = 'key';
$value = $your_var[ $key ];

JavaScript では、非常に似ています。

var value = your_var[ 'key' ];

または:

var key = 'key';
var value = your_var[ key ];

キーへの変数アクセスが不要な場合に役立つ、より効率的な構文がもう 1 つあります。

var value = your_var.key
于 2012-06-15T15:23:00.340 に答える