2016-05-18 11 views
1

外部WebアプリケーションからOpenVBXに2つのデータをPOSTしようとしています。Click to call to openVBX

calltonum:(phone number in format +12345678902) 
callfromnum:(phone number in format +12345678902) 

データがアプリになると、私はこの機能を使用しようとしています:私はこのJavaScript関数は、プラグインからの作品を確認しましたが、成功し投稿することができたhaventは http://www.openvbx.org/docs/browserphone/api/

OpenVBX.clientDial({ 
    'to': calltonum, 
    'callerid': callfromnum 
}); 

をデータをプラグインにまだ送信していません。私はもともとは認証の問題に遭遇するのではないかと心配しましたが、公開セッションが既にある場合はすぐに見つかり、User_Controllerを拡張するクラスを持つカスタムコントローラ内の関数に直接データを投稿します。投稿データを受け取り、渡しますちょうど良い眺めに。

私の問題は、ビューをロードすると、すべてのCSSとJavaScriptとデータが画面に表示されますが、 が表示され、ページリクエストで '/'がロードされてブラウザをリダイレクトする/メッセージ/受信トレイ。 私もjsのエラーを取得しています:

Uncaught ReferenceError: $ is not defined(anonymous function) @ dosomethingplease:116 

jqueryのhasntは、テンプレートにロードされて信じるように私をリードするbrowserphone APIを使用しようとしています。中/コントローラ

<?php 

class dialbrowserException extends Exception {} 

class dialbrowser extends User_Controller { 
public function __construct() 
{ 
    parent::__construct(); 
} 
public function index() 
{ 
    return $this->dosomethingplease(); 
} 
public function dosomethingplease() 
{ 
    $data = $this->init_view_data(); 
    $this->template->add_js('assets/j/plugins/call-and-sms-dialogs.js'); 
    $this->template->add_js('assets/j/frameworks/jquery-1.6.2.min.js'); 
    $data = array('calltonum' => $this->input->post('calltonum'), 'callfromnum' => $this->input->post('callfromnum')); 

    $this->respond('title','dialnow', $data); 
}  
} 

?> 

に/ビュー

<div class="vbx-content-main"> 

<div class="vbx-content-menu vbx-content-menu-top"> 
    <h2 class="vbx-content-heading">Test-a-roo</h2> 
</div><!-- .vbx-content-menu --> 

<div class="vbx-content-container"> 
    <div class="vbx-content-section"> 
     <div class="vbx-form"> 
      <h3>Receipt of Number passed:</h3> 
       <div> 
        And here we made it the whole way.... didnt think we could do it huh? 
        <?php 
        echo "lets do this for sanity's sake... to: ".$calltonum." and from: ".$callfromnum." ...see no issues with the data!"; 
        $html = "<script> $('document').ready(function(){OpenVBX.clientDial({'to': '".$calltonum."', 'callerid': '".$callfromnum."'});}); </script>"; 
        echo $html; 
        ?> 
       </div> 
     </div> 
    </div><!-- .vbx-content-section --> 
</div><!-- .vbx-content-container --> 

</div><!-- .vbx-content-main --> 

とIを作成したdialnow.php作成

dialbrowser.php:ここ

は、私が現在持っているコードです。現在/ dialbrowser/indexまたは/ dialbrowser/dosomethingpleaseに正常に投稿できます。 dビューにデータが入力されます。

わからないことは、 なぜリダイレクトするのですか?そして、私が User_Controllerを拡張しているので、 は、すべての重要なjquery/javascriptがすでに正常に読み込まれていないはずですか?

更新/config/routes.php$route['dialbrowser'] = "dialbrowser";を変更しました。それは今コントローラレベルでリダイレクトされません!今私は、左のメニューがそこにないことを見ることができます、コールボタンは機能を持たず、前のjavascriptエラーは依然として続きます。

+1

..私はそれを修正する時間の地獄を持っていた自分自身を私がCIを学ぶまで、あなたはそれを使って多くの開発を計画しているなら、おそらくCIに関するチュートリアルをする価値があります。 –

+0

ええ、私はいくつかのcodeigniterのファンが私に何か不足しているかどうか教えてくれることを期待していたので、この記事でcodeigniterをタグ付けしました。私はいくつかのビデオを見てきましたが、実際にはCIについてのすべてを学ぶ時間や興味はありません。特に、v.1.7の日付から、OpenVBXがあると信じています。 @Pamblamもしあなたが私のためにこのポストにOpenVBXタグを追加したいのであれば、あなたにはうれしいでしょう –

答えて

1

これはあなたが探しているものですか? Openvbxへのクリックコールを追加するコンセプトプラグインがありますが、承認なしでプラグインへの投稿時のセキュリティを無効にするには、いくつかの行を変更する必要があります。 https://github.com/twilio/OpenVBX/wiki/Plugin-Click-to-Flow

1

何らかの形で、ドキュメント準備がプラグインページで機能していません。代わりに$(「文書」)のwindow.onloadを試してみてください 準備ので、行は次のようになります。OpenVBXはCodeIgniterの中に書かれている

$html = "<script> window.onload=function(){OpenVBX.clientDial({'to': '".$calltonum."', 'callerid': '".$callfromnum."'});}; </script>";