2017-02-06 2 views
0

localhost/CodeIgniterにCodeIgniterをインストールし、同じパスを設定ファイル:$config['base_url'] = 'http://localhost/CodeIgniter/'に書きました。今すぐAJAXリクエストを送信する必要がありますhttp://localhost/CodeIgniter/register/user_register

私は/register/user_registerをajaxリクエストで使用しても動作しませんが、/CodeIgniter/register/user_registerを使用すると動作します。

私はローカルホストで作業しているので、毎回/CodeIgniter/ディレクトリを使用したくありません。プロジェクトを配信するときは、CodeIgniterディレクトリには絶対含まれません。だから、私はこれをAjaxリクエストを送信した場所ごとに変更する必要があります。

私はCodeIgniterが毎回このディレクトリを使わずに一度定義する方法を探していますので、プロジェクトの配布時に簡単に変更できるようにしています。

このよう

     $.ajax({ 

         url : "/register/user_register", 
         type: 'POST', 
         data: formData, 
         contentType: false, 
         processData: false, 
         success: function(data){ 
          alert(data); 
         } 


         }); 

を働いていませんが、あなたはあなたの$config['base_url']変数のクライアント側を保存するためにJavaScript変数を使用することができ、このよう

     $.ajax({ 

         url : "/CodeIgniter/register/user_register", 
         type: 'POST', 
         data: formData, 
         contentType: false, 
         processData: false, 
         success: function(data){ 
          alert(data); 
         } 


         }); 
+0

私はCodeIgniterに精通していませんが、CIプロジェクトのルートを指しているdocrootですか?プロジェクト内の '/ www'や'/public'などのパブリックフォルダをポイントする方が良いでしょう。私は '/ CodeIgniter'がURLに属していないことに同意します。あなたの心配に感謝します。 – halfer

+0

docrootを確認する場所は?私を案内してもらえますか? – yousaf

+0

docrootはApacheなどのWebサーバーに設定されています。たとえば、プロジェクトフォルダが '/ var/www /'で、CodeIgniterフォルダが '/ var/www/CodeIgniter'にある場合、'/var/www'があなたのdocrootです。これは本質的にあなたのWebサーバーの視点から見て最上位のフォルダです。 [Web上のリソース](https://stackoverflow.com/questions/5891802/how-do-i-change-the-root-directory-of-an-apache-server)に変更方法を示すことができますこれはオペレーティングシステムと特定のApache設定に依存します。 – halfer

答えて

0

作業。その後のようなあなたのAJAXリクエストでそれを使用します。

$.ajax({ 
    /*...*/ 
    url: base_url + "mycontroller", 
    /*...*/ 
}); 

あなたの変数このように設定します。

<head> 
    <!-- ... --> 
    <script>var base_url = "<?= $config['base_url']; ?>";</script> 
    <!-- ... --> 
</head> 

P.S.をこの例では、<?= "..." ?>を置き換えます。<?php echo "..." ?>

+0

こんにちはNicあなたの指導に本当に感謝していますが、これをconfigファイルに入れたり、codeIgniter構造で定義する方法はありますか? – yousaf

+0

@yousaf、あなたのJavascriptはあなたのPHPサーバーと直接話すことができないので、しかし、それはあなたの設定にある値をjavascript変数に出力しているので重要ではありません。その値を変更すると、新しい値が変数に出力され、それでも動作します。 – Nicolas

+0

ok ..私は理解していますが、問題は、localhostから始まる完全なURLで動作していないことです。CodeIgniter/... – yousaf

関連する問題