вызовите и выполните файл javascript из удаленного файла php

0

У меня есть служба angularjs, которая отправляет ссылку api для отдыха в php файл, проблема в том, что этот php файл вызывает другой php файл, который содержит код javascript. Когда я выполняю код в службе, он выполняет php файл, но код javascript просто распечатывается без выполнения. Это был целый день исследований, но без какого-либо решения. Пожалуйста, скажите мне, где проблема? Я использовал require 'secondFile.php'; и include 'secondFile.php'; , Я также попытался привести весь код javascript из второго файла в первый файл, так что я вызываю javascript локально, но он всегда печатает код без его выполнения. Вот мой код:

Функция угловой функции:

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, который является удаленным файлом

         <?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:

    <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 "+ 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 stackoverflow.com/questions/3839966/…
Показать ещё 3 комментария
Теги:
rest
service

1 ответ

0

Пример:

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

$stream = ssh2_exec($connection, '/usr/local/bin/php -i');

Ещё вопросы

Сообщество Overcoder
Наверх
Меню