jquery ajax不在代码点火器中发送数据

时间:2017-05-31 06:46:27

标签: javascript php jquery ajax codeigniter

我是Codeigniter MVC框架的新手。当我通过ajax从viewscontroller发送数据时,此错误显示click here to view the image

这是我的代码:

views / ajax_post_view.php:

 <!DOCTYPE html>
<html lang="en">
<head>
  <title>Ajax Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<script>
    $(document).ready(function(){
        $(".submit").click(function(e){
            e.preventDefault();

            var user_name = $("input#name").val();
            var password = $("input#pwd").val();

            //alert(user_name);
            //alert(password);

            $.ajax({
                type:'POST',
                url:'<?php echo base_url();?>'+'index.php/ajax_controller/submit',
                dataType:'json',
                data:{name:user_name,pwd:password},
                success:function(data){
                    console.log(data);
                }
            });
        });
    });
</script>
</head>
<body>
<div class="main">
    <div id="content">
        <h2 id="form-head">Pavan Code Igniter Ajax</h2>
        <hr>

        <div id="form_input">
            <?php

                echo form_open();

                echo form_label('User Name');
                $data_name = array(
                    'name'=>'name',
                    'class'=>'input_box',
                    'placeholder'=>'Please enter name',
                    'id'=>'name'
                );
                echo form_input($data_name);
                echo "<br>";
                echo "<br>";

                echo form_label('Password');
                $data_name = array(
                    'type'=>'password',
                    'name'=>'pwd',
                    'class'=>'input_box',
                    'placeholder'=>'Please enter Password',
                    'id'=>'pwd'
                );
                echo form_input($data_name);
            ?>
        </div>

        <div id="form_button">
            <?php echo form_submit('submit','Submit','class="submit"');?>
        </div>

        <?php
            echo form_close();
        ?>
    </div>
</div>
</body>
</html>

controller:controllers / Ajax_controller.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Ajax_controller extends CI_Controller {

       // Show view Page
        public function index(){
            $this->load->helper('form');
            $this->load->helper('url');
            $this->load->view("ajax_post_view");
        }

        // This function call from AJAX
    public function submit()    {
                $data = array(
                    'username' => $this->input->post('name'),
                    'pwd'=>$this->input->post('pwd')
                        );
            echo json_encode($data);
    }
}
?>

提前帮助我

1 个答案:

答案 0 :(得分:0)

在控制器中,在php脚本的顶部设置Access-Control-Allow-Origin:

header('Access-Control-Allow-Origin: *');