我目前正在做一个应用程序,它使用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获取到控制器?
发布于 2013-10-25 18:26:34
您必须对base_url执行echo操作并使用''包装您的var
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
发布于 2013-10-25 20:21:39
提示:
提示1:你可以设置所有的url:
var url = <?php echo site_url('welcome/newShortestPath'); ?>;提示2:使用site_url()代替base_url()。base_url必须用于资源(img、css、js等)要构建URL,请使用site_url()
https://stackoverflow.com/questions/19587123
复制相似问题