Yaz*_*rez 2 javascript php ajax jquery
我有这个按钮
<button id="<?php echo $u['id']?>" name="activation" onclick="handleButton(this);" type="submit" class="btn btn-success"></button>
Run Code Online (Sandbox Code Playgroud)
这个按钮与此相关
<td id="<?php echo $u['id']?>"><?php echo $u['id']?></td>
Run Code Online (Sandbox Code Playgroud)
我正在使用此脚本将按钮的值发送到我的php控制器
function handleButton(obj) {
var javascriptVariable = obj.id;
// alert (javascriptVariable);
$.ajax({
type: "POST",
url: "<?php echo base_url(); ?>index.php/admin/active_users",
dataType: 'text',
data: 'myname='+javascriptVariable,
success: function (data){
}
});
}
Run Code Online (Sandbox Code Playgroud)
当我使用警报时,结果javascriptVariable是正确的,我希望它在我的控制器中,所以我在我的控制器中尝试这样做:
if(isset($_POST['activation']))
{
$name = $this->input->post('myname');
var_dump($name);
}
Run Code Online (Sandbox Code Playgroud)
但我得到了null价值,有什么不对?
当您通过AJAX从浏览器传递数据时,您在data:参数中传递的数据将被发送到PHP脚本.
因此,如果要activation在PHP脚本中进行测试,则必须实际发送该参数
另请参阅data:下面的参数创建修订.当你传递多个参数时,它更容易阅读并且更容易正确编码,因为你不必记住&和+连接.
function handleButton(obj) {
obj.preventDefault();
$.ajax({
type: "POST",
url: "<?php echo base_url(); ?>index.php/admin/active_users",
dataType: 'text',
data: {activation: 1, myname: obj.id}, // add parameter
success: function (data){
alert(data);
}
});
}
Run Code Online (Sandbox Code Playgroud)
现在,PHP将看到$ _POST数组中的2个参数activation和myname
if(isset($_POST['activation']))
{
$name = $_POST['myname'];
var_dumb($name);
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您使用的是我认为您的框架
if(isset($this->input->post('activation')) {
$name = $this->input->post('myname');
var_dumb($name);
}
Run Code Online (Sandbox Code Playgroud)
编辑:
发现另一个问题,你的按钮有一个属性,type="submit"这将导致javascript以正常方式提交的表格运行.
移除type="submit"属性并加倍确认表单不会被提交以及AJAX preventDefault();在AJAX调用之前添加调用
| 归档时间: |
|
| 查看次数: |
615 次 |
| 最近记录: |