

Monaca側でconsole.log("投稿完了")まではできているのですが，  
この後処理，JSONで変換されたphpの文（DBの中身を表示させたもの）JavascriptでMonaca上の画面に表示させる部分がよくわからなかったのでアドバイスの方をお願いします。

* * *

Monaca側

[code]

                    //口コミのボタンを押すとページ遷移と更新を同時に行う 
                      function anime1() {
                      app.slidingMenu.setMainPage('page1.html', {closeMenu:true});
                      }
    
                      function anime2() {
                      console.log("jh");
                      // Ajaxで～.phpを利用してDBにアクセス
                         $.ajax({
                         type: "POST",
                         scriptCharset: 'utf-8',
                         dataType: "jsonp",
                         url: サーバーにある～.phpファイル名
    
                         }).done(function(data){
                      console.log("投稿完了！");
    
    
                       //for (var i = 0; i < data.length; i++)
    
                       //document.write $(':text[name="senderName"]')
                       //.append($('<option>').html(data[i]  ["japanese"]).val(data[i]["id"]));
             // }
    
                       }).fail(function(data){
                       alert('error!!!');
                       console.log("error");
                       });
                }
    
    
                </script> 
    
[/code]

php側

[code]

              <?php
    
              require_once('config.php');
    
              $result=$pdo->prepare("select*from 13DB066_test");
              $result->execute();
              $result_value=$result->fetchAll();
    
              header('Content-type: application/json');
    
              echo json_encode( $result_value );
    
    
              // echo $result_value[$i]["text1"] ;
              // echo $result_value[$i]["text2"] ;
              // echo $result_value[$i]["text3"] ;
              // echo $result_value[$i]["text4"] ;
    
              // }
              ?>
    
[/code]


CC BY-SA 3.0
2015-12-17T17:35:24.160
20125
2016-01-17T12:44:46.530
2015-12-18T11:45:45.540
9566
13721
question
javascript php monaca json
php（DBから取得したの中身の表示）をJsonで変換しjavascriptで画面上に表示させたい。


外部サーバでかつ CORS ではないのならば、JSONP (Pが要ります) になります。

[code]

    $.ajax({
        type: "POST",
        scriptCharset: 'utf-8',
        dataType: "jsonp",
        url: 'http://example.com/foo.php?callback=?'
    }).done(function(data){
    
[/code]

こうしておき php 側は

[code]

    <?php
    require_once('config.php');
    
    $result = $pdo->prepare("select*from 13DB066_test");
    $result->execute();
    $result_value=$result->fetchAll();
    
    header('Content-type: application/json');
    
    $callback = $_GET['callback'];
    if ($callback) {
      // 関数名チェックが必要
      echo $callback + '(' + json_encode( $result_value ) + ')';
    } else {
      echo json_encode( $result_value );
    }
    
    // echo $result_value[$i]["text1"] ;
    // echo $result_value[$i]["text2"] ;
    // echo $result_value[$i]["text3"] ;
    // echo $result_value[$i]["text4"] ;
    
    // }
    ?>
    
[/code]

この様に callback で返せる様にします。jQuery の `callback=?` の `?` にはユニークな関数名が入るので php
ではそのまま関数呼び出しとして返す必要があります。  
もちろん javascript の関数として許せる名称かどうかチェックすべきです。


CC BY-SA 3.0
2015-12-18T04:28:04.753
20141
2015-12-18T04:28:04.753
440
20125
answer