我正在做一个应用程序,它使用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发送数据到控制器?
答案 0 :(得分: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');
了解更多here
答案 1 :(得分:0)
提示:
提示1: 您可以设置所有网址:
var url = <?php echo site_url('welcome/newShortestPath'); ?>;
提示2: 使用site_url()代替base_url()。 base_url必须用于资源(img,css,js等) 要构建URL,请使用site_url()