dongrao9454 2012-11-01 07:50 采纳率: 100%
浏览 68

我的带有ajax的Codeigniter表单返回所有页面

In my project I user ajax to process form. Now i want to get Post data to process. I use Javascript when Jquery is not allowed. But Ajax return whole page, how can I fix that.

My controller :

class Form extends Controller {

    function __construct() {
        parent :: __construct();
        $this->load->model('Form_model');
    }

    function index() {
       $this->loadForm();

    }

    function loadForm() {
        $this->load->view('form_view');
    }

    function ajax_add_form_content() {

        if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == "XMLHttpRequest") {
            echo $_POST['fullname'] . '+' . $_POST['subject'];
        } else {
            echo '0';
        }
    }

}

And my view :

<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Form view</title>

    <script language="JavaScript" type="text/javascript">


        function ajax_post(){

            var hr = new XMLHttpRequest();

            var url = "<?php echo base_url().'index.php/form/ajax_add_form_content'?>";
            var fn = document.getElementById("txtFullName").value;
            var ln = document.getElementById("txtSubject").value;
            var vars = "fullname="+fn+"&subject="+ln;
            hr.open("POST", url, true);

            hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

            hr.onreadystatechange = function() {
                if(hr.readyState == 4 && hr.status == 200) {
                    var return_data = hr.responseText;
                    document.getElementById("status").innerHTML = return_data;
                }
            }

            hr.send(vars); 
            document.getElementById("status").innerHTML = "processing...";
            return false;
        }

    </script>

</head>
<body>
    <div id="form">
        <span id='status' ></span>
        <form class="form" method="post">
            <p class="formName">contact</p>
            <p class="formDesc">contact us</p>
            <div class="form_elements">
                <div class="textField">
                    <label>Full name</label>
                    <input id="txtFullName" class="inputText required" type="text" maxlength="255" size="28" name="txtFullName">


                </div>

                <div class="textField">
                    <label>Subject</label>
                    <input id="txtSubject" class="inputText required" type="text" maxlength="255" size="28" name="txtSubject">


                </div>

            </div>
            <div class="form_submit">
                <input id="btnSubmit" type="submit" value="Send" name="btnSubmit" onClick="javascript:ajax_post();">
            </div>
        </form>
        <div id='display'>
        </div>

    </div>
</div>
</body>
</html>

Thanks for any help !

  • 写回答

2条回答 默认 最新

  • duanguo7021 2012-11-01 09:26
    关注

    Please try this

    in your controller

    function ajax_add_form_content() {
    
            if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == "XMLHttpRequest") {
                echo $_POST['fullname'] . '+' . $_POST['subject'];
            } else {
                echo '0';
            }
      exit;
        }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)