我正在使用框架codeIgniter学习网络编程,我尝试将值从控制器中的函数发送到视图中的查询脚本。 这是我控制器上的代码:
public function passData(){
$pass = "the new value";
return $pass;
}
视图中的代码:
<h3 id="tesrow">the value I want change</h3>
<script type="text/javascript">
$(document).ready(function() {
$('#btn-filter').click(function(){ //button filter event click
table.ajax.reload(), //just reload table
$('#tesrow').text({
"ajax": {
url : "<?php echo site_url("main/passData") ?>",
}
})
});
});
</script>
我尝试使用按钮更改视图中的值,但仍然失败。 谢谢你的帮助
答案 0 :(得分:0)
我建议您先阅读documentation,但这应该可以解决您的问题:
// The jQuery
$(document).ready(function() {
$('#btn-filter').click(function() {
let $this = $(this);
$.ajax({
url: '/myController/myFunction',
type: 'POST',
dataType: 'text',
beforeSend: function() {
$this.prop('disabled', true);
},
success: function(data) {
if(data) {
$this.text(data);
}
},
complete: function() {
$this.prop('disabled', false);
}
});
});
});
// The PHP function
public function myFunction() {
$pass = "the new value";
echo $pass;
return;
}
答案 1 :(得分:0)
在控制器
public function passData(){
$pass = "the new value";
echo "<p>".$pass."</p>";
}
和您的脚本。
<script type="text/javascript">
$('#btn-filter').click(function(){
$( '#tesrow' ).load( "<?php echo site_url("main/passData") ?>" );
});
</script>
尝试这个..
controller扩展类ci_controller ..所以您不能在controllers方法中返回字符串.. return用于更改方法名称..
答案 2 :(得分:0)
在您的ajax中使用base_url。这些参数的值将来自控制器。
function method_name(parameter, parameter, that) {
$.post(base_url + "controller/method_name", {parameter: parameter_name, parameter: parameter_name}, function (data) {
}
答案 3 :(得分:0)
尝试:
1. Javascript
<script type="text/javascript">
$(document).ready(function() {
$('#btn-filter').click(function(){ //button filter event click
table.ajax.reload(), //just reload table
$.ajax({
url: "<?php echo site_url("main/passData") ?>",
type: "POST",
dataType: "json",
success: function(data) {
$('#tesrow').text(data.result);
}
});
});
});
</script>
2。控制器
public function passData(){
$pass = "the new value";
echo json_encode(array("result" => $pass));
}