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() 函数时的错误,我不再收到任何错误,但同时我无法获取传递的数据,还有其他方法可以从 post 获取数据到控制器吗?

4

2 回答 2

2

你必须echobase_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:您可以设置所有网址:

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

提示 2:使用 site_url() 代替 base_url()。base_url 必须用于资源(img、css、js 等)来构建 URL 使用 site_url()

于 2013-10-25T12:21:38.680 回答