【发布时间】:2016-04-07 08:32:05
【问题描述】:
我是 ajax 初学者,在这里我尝试使用 Ajax 在同一页面中显示文本框值。
我的控制器代码:
<?php
class Merchant extends CI_Controller
{
public function ajaxtest()
{
$this->load->helper('url');
$this->load->view('ajaxtest');
$fullname = $this->input->post("fullname");
echo $fullname;
}
}
?>
这是我的视图代码:
<head>
<script src="<?php echo base_url();?>assets/js/jquery-latest.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#getinfo").click(function()
{
$.ajax({
type: "POST",
url: "<?php echo base_url(); ?>merchant/ajaxtest",
data: {textbox: $("#fullname").val()},
dataType: "text",
cache:false,
success:
function(data){
$('#mytext').html(data);
}
});
return false;
});
});
</script>
</head>
<body>
<form method="post">
<input type="text" id="fullname"/>
<input type="button" value="getinfo" id="getinfo"/>
<span id="mytext"></span>
</form>
</body>
当我单击按钮 getinfo 时,我想将文本框中的文本显示为跨度文本。但现在它什么都没有显示..
更新:
根据专家的意见,我编辑了一些文本(见我的编辑说明),现在当我点击按钮时,它再次显示一个文本框和一个按钮.. !!
【问题讨论】:
-
您是否忘记了 URL 中的文件扩展名?现在它只指向
"merchant/ajaxtest"。如果正确,您是否收到警报,或者 AJAX 调用是否静音?如果是后者,你应该在你的 AJAX 调用中添加一个error函数,这样你就可以捕获 jqHXR。 -
我想知道,控制器中的哪些内容返回到ajax?
-
我不确定您在评论中要问什么。如果您使用 Chrome 或 FireFox 之类的浏览器,请使用您的开发人员工具查看您的 php 请求返回的内容。否则,使用
alert()或console.log()调用转储php 返回给您的数据以进行调试。此外,您可能应该使用 `$('#mytext').append(data);` 来代替。 -
在浏览器中打开 ajax 链接以检查来自 base_url + "merchant/ajaxtest" 的响应或尝试使用 index.php/merchant/ajaxtest 进行检查
-
@Infolet.org 他的意思是没有已声明的
base_urljavascript 变量,看看他的意思是把它添加到你的@987654330 的顶部@,alert(base_url + "merchant/ajaxtest");并且您应该看到您尝试 AJAX 的网址(即错误的网址)
标签: javascript php jquery ajax codeigniter