2014-04-01 88 views
1

如果之前已经回答了问题,我很抱歉,但是我已经填充了来自PHP ie的数据。带选项的下拉菜单。我使用CodeIgniter并希望将PHP变量发回给我的控制器。使用AJAX传递发布数据的PHP表单

我发现使用JQuery以下阿贾克斯后功能:

$.ajax({ 
    type: "POST", 
    url: url, 
    data: data, 
    success: success, 
    dataType: dataType 
}); 

在我来说,我已经叫主控制器和方法叫回传(),所以我假设我会输入以下命令:

$.ajax({ 
    type: "POST", 
    url: http://localhost/project/main/postback, 
    data: data, 
    success: success, 
    dataType: dataType 
}); 

但是我不知道如何通过使用代码或什么数据或数据类型字段中输入,我再次道歉,如果这已经回答了,但我似乎无法想出解决办法的PHP变量。

提前感谢

可有人告诉我,如果我在这过于复杂,如果我执行上述可我只是抓住所有的数据的背面使用控制器上: $ _ POST

+1

你在哪里设置'data'数组的值? – Mooseman

+0

你在ajax url中的“httpI”是什么意思? –

+0

其打字错误平静下来 – TotalNewbie

回答

0

您可以使用jQuery这个

在PHP页面使用

<a href='#' onclick="showDiv('<?php echo $val; ?>')" class="classname">Edit</a> 

jQuery函数

<script> 
function showDiv(id) 
{ 
var xmlhttp; 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    {      
     //do something as it is equivalent to an ajax success function 
    } 
} 
xmlhttp.open("GET","your-php-page.php?id="+id,true); 
xmlhttp.send(); 
</script> 
+0

有一点,你说的jQuery,但它不是。 – Debflav

0

附上带单引号的网址。

<script> 
$(document).ready(function(){ 
$("#sel").change(function(){ 
var data=(this).val(); 
$.ajax({ 
     type: "POST", 
     url: 'http://localhost/project/main/postback', 
     data: data, 
     success: function(data){ 
    alert(data); 
    } 

    }); 

}) 

}) 
</script> 



    //html part 
    <select id="sel"> 
    <option>1</option> 
    <option>2</option> 
    </select> 
+0

你拼错了,它是'http://'。也许我并不是主流/回传网址。不知道如何在CodeIgniter中定义url。无论如何,你的答案在生产环境中不起作用。 – Debflav

+2

它的确定theres一个名为base_url()的函数,它会自动更改我刚刚没有包含在示例 – TotalNewbie

+0

中的基础URL。我拼错了,我正在编辑我的答案。 – sunny

0

PHP变量可以传递作为这样

localhost/project/main/postback/variable 

在此变量的变量应该被视为我们传递的参数。 所以在这里你可以使用

'localhost/project/main/postback/'.<?=$variable?>.'' 

否则你可能会在形式的变量值分配给任何隐藏字段,可以从提交的表单数据本身访问它作为$this->input->post('hiddenfieldname');