Codeigniter с ajax: функция успеха не работает - PullRequest
1 голос
/ 12 октября 2019

У меня проблема с функцией успеха в моей функции $ .ajax в файле javascript:

$("#country select").change(function () { 
            var country_value = $(this).val(); 
            $.ajax({
                url:base_url + "Search_controller/testing_controller", 
                method: 'post',
                data: {country_val: country_value },
                dataType: 'json',
                success: function(data){
                    console.log('done : ' + data);  
                },
                   error: function (reponse) {
                console.log('Problem with ajax');
                }

            });

моя функция контроллера

   <?php 

class Search_controller extends CI_Controller{

    public function index(){

    }


    public function testing_controller(){
        $data ="statessssssss";
        echo json_encode($data);
    }

  }
?>

**

Проблема в том, что коды ничего не делают, я не знаю, в чем проблема Всегда возвращайтесь ко мне в журнале браузера 'Проблема с ajax'

**

Ответы [ 3 ]

1 голос
/ 12 октября 2019

Измените ваш URL следующим образом

url:"<?php echo base_url()?>index.php/Search_controller/testing_controller",

Я проверил ваш код и его рабочий файл.

1 голос
/ 12 октября 2019

base_url() - это функция Codeigniter ( php ), в вашей функции $ ajax вы используете переменную javascript base_url, которая не определена.

inЧтобы получить php base_url () в вашу функцию $ ajax, вам нужно вывести функцию php, указав следующую строку:

url: "<?php echo base_url() ?>Search_controller/testing_controller",
0 голосов
/ 13 октября 2019

Я считаю, что решение заключается в безопасности CSRF

$("#country select").change(function () { 
             var country_value= $(this).val(); 
             var data = { /* params  */
                    "country": country_value,
                     "state": '001'
                };
              data[csfr_token_name] = $.cookie(csfr_cookie_name);
            $.ajax({
                url:base_url + "Search_controller/testing_controller", 
                method: 'post',
                data: data,
                dataType: 'json',
                success: function(data){
                    console.log('done : ' + data);  
                },
                   error: function (reponse) {
                console.log('Problem with ajax');
                }

            });

Этот код работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...