1

現在、フォーム フィールドからユーザー入力を取得する際に ajax を使用し、それを文字列に連結するアプリケーションを実行しています。これは正常に動作しますが、「POST 500 (内部サーバー エラー)」が発生します。

データを渡すことができません。ajaxを使用してビューからコントローラーに文字列を渡し、コントローラーでアクセスするにはどうすればよいですか。

ここに私のコードがあります:

スクリプト

<script>
 // $(document).ready(function(){
 function saveData(){
 var con =  document.getElementById('tiks').value;
 // var dataString = {'conid':con};
  alert(con);
  var cct = $("input[name=csrf_token_name]").val();

  var base_url = <?php base_url(); ?>;

  $.ajax({
      url: base_url + "welcome/newShortestPath",
      type: "POST",
      data: {'conid':con, 'csrf_token_name':cct},
      success:function(){
        alert("SUCCESS KALUY-I   "+con);
        $('#myForm')[0].reset();
      }
  });
   }

コントローラ

public function newShortestPath(){
    echo "REACHED";
    $var = $this->input->post('conid');
    //$this -> load -> model('edge_model');
    //$this->edge_model->setConstraints();

}

本当にあなたの助けが必要です。前もって感謝します。:)

アップデート

base_url() 関数の呼び出し時にエラーを修正することでエラーが発生しなくなりましたが、同時に渡されたデータを取得できません。投稿からコントローラーにデータを取得する他の方法はありますか?

4

2 に答える 2

2

変数をラップするecho必要がありますbase_url''

var base_url = '<?php echo base_url(); ?>';

アップデート

あなたが得ているエラーに基づいて:

致命的なエラー: 未定義関数 base_url() の呼び出し

あなたのコメントで述べたように。

あなたがしなければならないことは、行ってapplication/config/autoload.php 見つけることです

$autoload['helper'] = array();

次に、それをに変更します

$autoload['helper'] = array('url');

urlまたはヘルパーを手動でロードします。

$this->load->helper('url');

ここでもっと読む

于 2013-10-25T10:26:34.347 に答える
0

チップ:

ヒント 1: すべての URL を設定できます:

var url = <?php echo site_url('welcome/newShortestPath'); ?>;

ヒント 2: base_url() の代わりに site_url() を使用します。リソース (img、css、js など) には base_url を使用する必要があります。URL を構築するには、site_url() を使用します。

于 2013-10-25T12:21:38.680 に答える