2016-06-01 27 views
0

私はangjsサービスを使用して、残りのAPIリンクをPHPファイルに送信します。問題は、このPHPファイルがjavascriptコードを含む別のPHPファイルを呼び出していることです。サービスでコードを実行すると、PHPファイルが実行されますが、javascriptコードは実行されずに出力されます。それは研究の一日でしたが、解決策は一切ありませんでした。問題がどこにあるのか教えてください。私はrequire 'secondFile.php';include 'secondFile.php';を使用していますが、私はjavascriptをローカルで呼び出すように、第2ファイルから第2ファイルの全javascriptコードを取得しようとしましたが、実行せずにコードを出力します。ここ は私のコードです:リモートPHPファイルからjavascriptファイルを呼び出して実行します

angularjsサービス機能:

var link = 'http://path/to/first.php'; 
      $http.post(link, {idf : newDoc.idf}) 
      .success(function (res){ 
       console.log(res); 
      }).error(function (err) { 
       console.log(err); 
      }); 

  <?php 
      if (isset($_SERVER['HTTP_ORIGIN'])) { 
    header("Access-Control-Allow-Origin:   {$_SERVER['HTTP_ORIGIN']}"); 
        header('Access-Control-Allow-Credentials: true'); 
        header('Access-Control-Max-Age: 86400');  
      } 

      // Access-Control headers are received during OPTIONS requests 
      if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { 

        if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) 
          header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); 

        if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) 
          header("Access-Control-Allow-Headers:  {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}"); 

        exit(0); 
      } 

      $method = $_SERVER['REQUEST_METHOD']; 
      //$request = explode('/', trim($_SERVER['PATH_INFO'],'/')); 
      $input = json_decode(file_get_contents('php://input'),true); 

      $postdata = file_get_contents("php://input"); 
      $request = json_decode($postdata); 
      var_dump($request); 
      $idf= $request->idf; 
      $val= $request->val; 

        switch ($method) { 
        case 'POST': 
           insertit($idf, $val); 
          break; 
        case 'PUT': 
           updateit(); 
          break; 
        case 'REMOVE': 
           removeit(); 
          break; 
        } 

      } 
    catch(PDOExecption $pe) { 
     echo "okay"; 
     print "ERROR!".$pe->getMessage(); 
     die(); 
     } 
function insertit($idf, $val) { 
     include 'connect.php'; 

     $dataBilan = array($val); 
    $stmt = $DB->prepare("INSERT INTO `Test` (val) VALUES (?)"); 
    $stmt->execute($dataBilan); 
      $last = $DB->lastInsertId(); 
      $idf= $last; 
    $info_bilan= array(
      'val' =>$val 
      ); 
    $data = array(
    'idf'=>$last, 
    'action'=>'update', 
    'table'=>'activite', 
    'data' =>$info_bilan 
    ); 
      require 'second.php'; 
      echo "okay done inserting"; 
    } 

とsecond.phpリモートファイルで最初のPHPファイル、:

<script src="pouchdb-5.3.1.min.js"></script><script type="text/javascript" language="javascript"> 
var dbRemote = new PouchDB('http://localhost:5984/Mydatabase'); 
     var myDocs; 
     var value = <?php echo json_encode($data); ?>; 
     console.log(JSON.stringify(value)); 


    if((value.idf != null) && (value.idf != 0)) 
     { 

       console.log("-------here we go----"); 
       dbRemote.allDocs({include_docs: true}).then(function (res) { 
       myDocs = res.rows.map(function (row) { 

        return row.doc; }); 

          onUpdate(value); 

       }); 

    } 
} 
    function binarySearch(arr, docId) { 
      var low = 0, high = arr.length, mid; 
      while (low < high) { 
       mid = (low + high) >>> 1; // faster version of Math.floor((low + high)/2) 
       arr[mid].id < docId ? low = mid + 1 : high = mid 
      } 
      return low; 
     } 

    function onUpdate(value) 
     { 
      console.log("couchdb's "+ myDocs.length); 
      if(myDocs.length !=0) 
      { 
       console.log("haha"); 
       var index = binarySearch(myDocs, value.idf); 
       var doc = myDocs[index]; 

      if(action== "update") 
      { 
       dbRemote.put(doc).then (function() { 
        console.log("Updated! "); 
       }).catch(function (err) { 
        console.log(err); 
       }); 
      } 
     } 
    } 

</script> 

second.phpファイルの内容は出力されますが、実行されません。私はfirst.phpを実行するとすべてがうまく行きますが、サービスを実行すると印刷されたファイルが表示されます。何かお考えですか?

+0

いくつかのコードサンプルが参考になる。.. –

+0

チェックアウトJSONP http://stackoverflow.com/questions/3839966/can-anyone-explain-what-jsonp-is-in-layman -terms – Mei

+0

編集された記事をご覧ください!私はあなたの問題を理解するのに役立つコードの部分を書いていました。ありがとうございました! – Mana

答えて

0

例:

$connection = ssh2_connect('shell.example.com', 22); 
ssh2_auth_password($connection, 'username', 'password'); 

$stream = ssh2_exec($connection, '/usr/local/bin/php -i'); 
関連する問題