最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - AJAX response returns html content - Stack Overflow

programmeradmin1浏览0评论

I have an AJAX call in my codeigniter project. Here is my code:

in view :

$('#forgotPassword').click(function() {
        var base_url = '<?php echo base_url()?>'; 
        $('#forgotPasswordEmailError').text('');
        var email = $('#forgotPasswordEmail').val(); 
        console.log(email);
        if(email == ''){
            $('#forgotPasswordEmailError').text('Email is required');
        }else{
            $.ajax({
                url : base_url + 'Home/forgotPassword',
                type : 'POST',
                data : {email : email},
                success: function(data) {       
                    console.log(data);                  
                    //location.reload();
                }
            });
        }

    });

and controller :

public function forgotPassword() { 
   $email = $this->input->post('email');
   echo $email; 
}

but the response contains only the html content from my view. I couldn't identify what is happening.

I have an AJAX call in my codeigniter project. Here is my code:

in view :

$('#forgotPassword').click(function() {
        var base_url = '<?php echo base_url()?>'; 
        $('#forgotPasswordEmailError').text('');
        var email = $('#forgotPasswordEmail').val(); 
        console.log(email);
        if(email == ''){
            $('#forgotPasswordEmailError').text('Email is required');
        }else{
            $.ajax({
                url : base_url + 'Home/forgotPassword',
                type : 'POST',
                data : {email : email},
                success: function(data) {       
                    console.log(data);                  
                    //location.reload();
                }
            });
        }

    });

and controller :

public function forgotPassword() { 
   $email = $this->input->post('email');
   echo $email; 
}

but the response contains only the html content from my view. I couldn't identify what is happening.

Share Improve this question edited Dec 11, 2017 at 12:01 halfer 20.3k19 gold badges109 silver badges202 bronze badges asked Oct 6, 2017 at 7:23 geethgeeth 7142 gold badges19 silver badges44 bronze badges 4
  • What should the response be then? i.e what's the expected result – Rotimi Commented Oct 6, 2017 at 7:25
  • Plase replace data : {email : email}, with data : {'email' : email}, – Ferhat BAŞ Commented Oct 6, 2017 at 7:26
  • @ankitunde i just return the email id posted fron ajax request . but it displays whole html code in my view page – geeth Commented Oct 6, 2017 at 7:29
  • put a die after echo $email; this will works like a charm. – gaurav malik Commented Oct 6, 2017 at 11:15
Add a ment  | 

3 Answers 3

Reset to default 4

change your jquery code to

$('#forgotPassword').click(function() {
    var base_url = '<?php echo base_url()?>'; 
    $('#forgotPasswordEmailError').text('');
    var email = $('#forgotPasswordEmail').val(); 
    console.log(email);
    if(email == ''){
        $('#forgotPasswordEmailError').text('Email is required');
    }else{
        $.ajax({
            url : base_url + 'Home/forgotPassword',
            type : 'POST',
            data : {email : email},
            dataType:'json',
            success: function(data) {       
                console.log(data);                  
                //location.reload();
            }
        });
    }

});

change your controller code like

public function forgotPassword() { 
   $email = $this->input->post('email');
   $response = ["email" => $email];
   echo json_encode($response);
}

Instead of

echo $email;

use:

$response = ["email" => $email];

return json_encode($response);

And parse JSON, on client side, using JSON.parse.

hi maybe i can help someone, i had the same problem, in my case the error was here "url : base_url + 'Home/forgotPassword'"

in this example i have to pass all way like this url : /anotherdirectory/Home/forgotPassword.php', take a look in your "url"

$.ajax({ url : "change here fo works"', type : 'POST', data : {email : email}, dataType:'json', success: function(data) {
console.log(data);
//location.reload(); }

发布评论

评论列表(0)

  1. 暂无评论