2012-11-15 42 views
2

我正在通過jQuery調用一個控制器(Codeigniter)。我的dataString變量包含一個簡單的字符串,我試圖通過我的控制器,所以我可以將它傳遞給模型。但是,我收到一個錯誤,指出我的$ test_var是未定義的。我究竟做錯了什麼?jQuery AJAX調用PHP控制器

$('a.test').click(function (event) { 


    dataString = $(this).attr('name'); 
     $.ajax({ 
     type:"POST", 
     url:"<?php echo base_url(); ?>controller_name/", 
     data:dataString, 
     success:function (data) { 
     alert('test'); 
     } 

    }); 
    event.preventDefault(); 
}); 

控制器


$ test_var = $這個 - >輸入 - >交的( 'dataString');

回答

3

嘗試使用一個名稱=值對:

$('a.test').click(function (event) { 


    dataString = $(this).attr('name'); 
     $.ajax({ 
     type:"POST", 
     url:"<?php echo base_url(); ?>controller_name/", 
     data:'dataString='+dataString, 
     success:function (data) { 
     alert('test'); 
     } 

    }); 
    event.preventDefault(); 
}); 
1

你也可以做這樣的事情,這是一個替代語法

$('a.test').click(function (event) { 
    dataString = $(this).attr('name'); 
    $.ajax({ 
     type:"POST", 
     url:"<?php echo base_url(); ?>controller_name/", 
     data:{'dataString':dataString}, 
     success:function (data) { 
     alert('test'); 
     } 
    }); 
    event.preventDefault(); 
}); 

在控制器$test_var= $this->input->post('dataString');

或就像在香草中一樣php

這樣 數據